«design» etiketlenmiş sorular

Yazılım tasarımı ile problem çözme ve çözüm planlaması hakkında sorular.

2
Hesaplamayı yan etkilerden ayırdığımızda “dünyayı sorma” kodunu nereye koyacağız?
Göre Komut Sorgu Ayırma ilkesi yanı sıra Veri Düşünce ve Clojure ile DDD biri, hesaplamalar ve kararlarından (dünyanın değiştirme) yan etkileri ayırmak gerekir sunumlar yüzden her iki bölümü anlamak ve test etmek daha kolay olacağını. Bu cevaplanmamış bir soru bırakıyor: "dünyayı sormayı" sınır olarak göreceli olarak nereye koymalıyız? Bir yandan, …

3
HATEOAS kullanarak REST hizmetlerini keşfetmek için stratejiler var mı?
HATEOAS kısıtlaması ile bir REST hizmeti oluştururken, bağlantı yoluyla kaynakların varlığını tanıtmak çok kolaydır. Bir yapmak GETsitemde ve tüm birinci kademe kaynaklarını listeleyen kök belgesiyle ben cevabın köküne: { users: { href: "/users" } questions { href: "/questions" } } Bu hrefdeğerlerin nasıl okunacağını anlayan istemciler bu GETistekleri gerçekleştirebilir ve …
10 design  rest  hateoas 

1
Java.util paketindeki Stack için Nesne Kısıtlama Dili (OCL)
Bir sınavım var ve ne beklemeniz gerektiğine dair fikir edinmek için geçmiş makalelere bakıyorum. Aşağıdaki bir parça takılıp kalmış ve birileri bazı örnek cevaplar verebilir eğer gerçekten takdir ediyorum. Aşağıdaki işlemlerin (java.util paketindeki Stack sınıfına dahil) her biri için OCL'ye önkoşulları ve sonkoşulları yazın: (1) Boolean empty () - Bu …
10 design  languages  object  ocl 

3
Bir yöntemin parametre listesinde nesneler mi yoksa nesne tanımlayıcıları mı olmalı?
Ekiplerimiz aşağıdaki tartışmayı yapıyor: Diyelim ki aşağıdaki iki yöntemimiz var: public Response Withdraw(int clubId, int terminalId,int cardId, string invoice, decimal amount); public Response Withdraw(Club club, Terminal terminal,Card card, string invoice, decimal amount); tel üzerinden gönderilen sadece kimlikleri. bir taraf ilk yöntemin doğru olduğunu söylüyor, çünkü sadece terminal ve kulüp kimliğine …
10 design  methods 

3
Yazılım geliştirmede “sözde uygulama” diye bir kavram var mı?
Ben bir teknik / ölçeklenebilir geliştirmek için zaman harcamadan hızlı bir şekilde bir ürün veya demo yerden almak için bir algoritma insan tabanlı hesaplama yöntemleri veya "sahte" bir yöntem kullanarak uygulama açıklamak için bir etiket arıyorum /Analitik çözüm? Örneğin: bir restoranda boş masa sayısını saymak için Amazon Türk'ü kullanmak. Ayrıca …

5
Çıkış maliyetini bir çözüm seçmeye dahil etmeli miyim
Şu anda iki uygulanabilir yazılım tasarımı / çözümü arasında seçim yapıyorum. Çözüm 1'in uygulanması kolaydır, ancak bazı verileri özel bir biçimde kilitler ve daha sonra değiştirilmesi zor olacaktır. Çözüm 2'nin uygulanması zordur, ancak daha sonra değiştirilmesi çok daha kolay olacaktır. Bu konuda YAGNI'ye gitmeli miyim yoksa çıkış maliyetini karar verme …

5
Strateji modeline göre yeniden düzenlenmiş bir fonksiyon nasıl test edilir?
Benim kodda gibi bir işlevi varsa: class Employee{ public string calculateTax(string name, int salary) { switch (name) { case "Chris": doSomething($salary); case "David": doSomethingDifferent($salary); case "Scott": doOtherThing($salary); } } Normalde Ploymorphism'i bir fabrika sınıfı ve strateji modeli kullanarak kullanmak için bunu yeniden düzenlerdim: public string calculateTax(string name) { InameHandler nameHandler …

6
KURU prensibinin yorumlanması
Şu anda kodlamamda bu DRY (Kendinizi Tekrarlama) konseptiyle mücadele ediyorum. Çok karmaşık hale gelmesinden korktuğum bu işlevi yaratıyorum ama KURU ilkesini izlemeye çalışıyorum. createTrajectoryFromPoint(A a,B b,C c,boolean doesSomething,boolean doesSomething2) Söylediğim bu işlev 3 giriş parametresi alır ve boolean kombinasyonları göz önüne alındığında işlev biraz farklı bir şey yapar doesSomethingve doesSomething2. …
10 java  design  dry 

4
Yanıt işlemek için tasarım deseni
Çoğu zaman belirli bir işlev çağrısı için yanıt işleme bazı kod yazarken aşağıdaki kod yapısı olsun: örnek: Bu, bir giriş sistemi için kimlik doğrulamasını yapacak bir işlevdir class Authentication{ function login(){ //This function is called from my Controller $result=$this->authenticate($username,$password); if($result=='wrong password'){ //increase the login trials counter //send mail to admin …

1
Python “tanrı sınıfı” nı yeniden düzenlerim?
Sorun Ana sınıfı biraz “ Tanrı Nesnesi ” olan bir Python projesi üzerinde çalışıyorum . Vardır bu yüzden birçok özellik ve yöntemlere friggin! Sınıfa yeniden bakmak istiyorum. Şimdiye kadar… İlk adım olarak, nispeten basit bir şey yapmak istiyorum; ama en basit yaklaşımı denediğimde, bazı testler ve mevcut örnekler kırıldı. Temelde, …

2
'Demeter Yasası' genel / API yöntemi imzalarına uygulanabilir mi?
Bu yöntemleri kullanan istemci kodlarının kırılmasını önlemek için API / genel yöntem imzasındaki değişikliklerin minimum düzeyde olması gerektiği göz önüne alındığında , Demeter Yasası'nın bunlara daha az uygulanabilir olup olmadığını merak ediyordum . Basit bir örnek: class Account() { double balance; public void debit(Transaction t) { balance -= t.getAmount(); } …

5
Arayüz ve Kalıtım: Her iki dünyanın en iyisi mi?
Arayüzleri 'keşfettim' ve onları sevmeye başladım. Bir arayüzün güzelliği, bir sözleşme olması ve bu sözleşmeyi yerine getiren herhangi bir nesne, arayüzün gerekli olduğu her yerde kullanılabilir. Bir arabirimdeki sorun, sıradan özellikler için bir acı olan ve DRY'yi yenen varsayılan bir uygulamaya sahip olamamasıdır. Bu da iyidir, çünkü uygulamayı ve sistemi …

7
Kod yazabilmekten iyi bir geliştirici olmaya nasıl geçebilirim?
Komut dosyası yazabilmek (bash, awk) ve basit uygulamalar (c, php, python) yazmaktan daha büyük, daha karmaşık yazılımlar tasarlamaya ve geliştirmeye nasıl gidileceğine dair somut açıklamaların olmaması beni hayal kırıklığına uğrattı. Öyle görünüyor ki bir tarafta programlama dil kitapları var, diğer tarafta programcı ekipleri için tasarlanmış yazılım mühendisliği / proje yönetimi …

5
Yapılandırma Sınıfı / Yapısı: Desen veya Anti-Pattern? Alternatifler?
Bir programa yeni yapılandırma seçenekleri eklerseniz, seçeneklerin gerçekleştirilmesi gereken yerlere ulaşması açısından tonlarca dalgalanma etkisi olabilir. Bununla başa çıkmanın üç temel yolu var: Tüm yapılandırma ayarlarını programınızın açıkça ilkel olarak ihtiyaç duyan kısımlarına iletin. Bu, en açık yol ve şeyleri en çok birbirinden ayıran yöntemdir. Dezavantajı, bunun hem ayrıntılı hem …

7
Büyük bir kod tabanı sorunu (derleme) ile nasıl başa çıkılır?
Kod yazabilsem de, büyük projelerde çalışma konusunda henüz deneyimim yok. Şimdiye kadar yaptığım şey saniyeler içinde derlenen küçük programları kodlamaktı (algoritmalar, programlama prensipleri, fikirler, paradigmalar gibi çeşitli c / c ++ alıştırmaları ya da sadece api'yi denemek ...) ya da derleme gerektirmeyen bir betik dil (ler) i (python, php, js) …

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.