«design» etiketlenmiş sorular

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

4
bir işlevi kötü uygulama olarak adlandırmanın yolu nedir?
Takip koduna sahibim: public void moveCameraTo(Location location){ moveCameraTo(location.getLatitude(), location.getLongitude()); } public void moveCameraTo(double latitude, double longitude){ LatLng latLng = new LatLng(latitude, longitude); moveCameraTo(latLng); } public void moveCameraTo(LatLng latLng){ GoogleMap googleMap = getGoogleMap(); cameraUpdate = CameraUpdateFactory.newLatLngZoom(latLng, INITIAL_MAP_ZOOM_LEVEL); googleMap.moveCamera(cameraUpdate); } Bu şekilde LatLng, örneğin başka bir sınıfta neyin olduğunu bilmenin sorumluluğunu ortadan …

6
Dependency Injection için en iyi tanım nedir?
Birisi bana her ulaştığında ve Bağımlılık Enjeksiyonunu kavramsal bir şekilde tanımlamamı ve yazılım tasarımında DI'yi kullanmanın gerçek artılarını ve eksilerini açıklamamı istediğinde. İD kavramlarını açıklamakta zorlandığımı itiraf ediyorum. Onlara her zaman tek sorumluluk ilkesi, miras kompozisyonu vb. Hakkında bilgi vermem gerekiyor. Herkes geliştiriciler için DI tanımlamak için en iyi yolu …

4
“Erken soyutlama” nedir?
Cümlenin etrafına atıldığını duydum ve bana argümanlar tamamen çılgınca geliyor (burada samanlık çekiyorsam özür dilerim, Niyetim değil), genellikle şu satırlarda bir şeyler gider: Genel davanın ne olduğunu bilmeden soyutlama yapmak istemezsiniz, aksi takdirde (1) soyutlamalarınıza ait olmayan şeyleri koyuyor veya (2) önemli şeyleri atlıyor olabilirsiniz. (1) Bana göre bu programcı …

2
Uyarı Sistem Mimarisi
Çeşitli programlardan gelen uyarı mesajlarını işleyen ve bu uyarıları e-posta yoluyla tüketicilere indirgeyen bir sistem oluşturmak istiyorum. Tüm bunlar tek bir dahili ağ üzerinden sağlanacaktır. Bence temel mimarinin şöyle görünmesini istiyorum: Şu anda sahip olduğum temel endişe benim "API-çeşit" ne olacak "Message Handler" bit. Bu sistemin tüm bileşenlerinin veritabanına tüm …

4
Bir derleyici bir tür hatadan tam olarak nasıl kurtarılır?
Derleyiciler: İlkeler, Teknikler ve Araçlar (2. Baskı) (aka "Ejderha Kitabı") başlıklı 4.1.4, bölüm 4'teki birkaç makaleyi, makaleyi okudum . Ancak, birkaç modern derleyiciyi denedikten sonra, semantik hatalardan ve sözdizimsel hatalardan da kurtulduklarını gördüm . Sözdizimsel olarak ilgili hatalardan kurtarma derleyicilerin arkasındaki algoritmaları ve teknikleri oldukça iyi anlıyorum, ancak bir derleyicinin …

6
Eşit derecede optimal olmayan tasarımlarla sonsuz bir şekilde tekrarlamayı nasıl önlersiniz?
Muhtemelen birçokları gibi, genellikle kendimi tasarım problemleri ile baş ağrısına koşarken buluyorum, örneğin, sezgisel olarak problemlere uygun görünen ve istenen faydaları olan bazı tasarım desenleri / yaklaşımları var. Çoğunlukla patern / yaklaşımın, bir çeşit çalışma olmadan uygulanmasını zorlaştıran ve sonrasında paternin / yaklaşımın faydasını reddeden bazı uyarılar vardır. Pek çok …

6
Kodlamadan önce bir OOP sistemi tasarlamak için basit bir süreç nedir?
Ne zaman bir proje inşa etmem gerekiyorsa, onu her zaman inşa etmeyi başardım, önceden bir plan ya da tasarım tasarlamıyordum, ama önce gerekli olan bir sınıfı yazdıktan sonra, aşağıdan yukarıya doğru inşa ederek tüm projeyi temizledim. Şimdi bunun yazılım oluşturmak için uygun bir yol olmadığını biliyorum, ama kafamı Nesneye Dayalı …

2
Kapsam - algoritmada kusur - kullanımından nasıl kurtulur?
Giriş Ana vektör grafik oluşturma motorlarının çoğunun içinde algoritmik bir kusur vardır. Her bir şekli ayrı ayrı oluştururlar ve piksel kapsamını hesaplayarak kenar yumuşatırlar ve sonra birbirlerinin üzerine oluştururlar. Evet, basit ama doğru çözümler daha da basit. Bu, kapsama alanını şeffaflıkla sınırladığı için bir birleşme sorununa yol açar. Alfa harmanlama, …

1
Sosyal ağ bildirim sistemi
Arka fon Bazı sosyal ağ özellikleri içeren bir istemci için bir uygulama üzerinde çalışıyorum. Başlangıçta mobil ön ucu geliştiriyordum, ancak koşullar beni arka ucun geliştirilmesinden de sorumlu tuttu. Genel bir arka plan olarak, sistemimiz, kullanıcıların bir sosyal ağdan beklediğiniz gibi, diğer kullanıcıları takip etmelerine ve takip ettikleri kullanıcılar hakkında bildirim …

2
HTTP İstek / Yanıt nesneleri değiştirilemez mi?
Çoğu web uygulamasının istek / yanıt paradigmasına dayandığını söylemek güvenli olduğunu düşünüyorum. PHP hiçbir zaman bu nesnelerin resmi bir soyutlamasına sahip olmamıştır. Bir grup bunu değiştirmeye çalışıyor: https://github.com/php-fig/fig-standards/blob/master/proposed/http-message.md Ancak, değişmezlik konusunda bir bakıma yan izler aldı. Bir yandan, istek / yanıt nesnesinin yaşam döngüleri boyunca genellikle çok az değişikliğe ihtiyacı …

4
Python jeneratörleri ve işlevleri neden "def" anahtar kelimesini paylaşıyor?
Aşağıdakileri göz önünde bulundur: def some_function(): return 1 def some_generator(): yield 1 Yukarıdaki kodda some_function, bir işlev, some_generatorbir jeneratör. Oldukça benzer görünüyorlar. Kod okurken sahip olduğum sorun, ben yieldaslında bir işlev veya jeneratör olup olmadığını belirlemek önce bir "işlev" her anahtar kelime aramak için anahtar kelime arıyor gerekir! Bana öyle …

1
Konuşkan arayüzlerden nasıl kaçınılır
Arka plan: Bir sunucu uygulaması tasarlıyorum ve farklı alt sistemler için ayrı dll'ler oluşturuyorum. İşleri basitleştirmek için iki alt sistemim olduğunu varsayalım: 1) Users2)Projects Kullanıcıların genel arayüzünün aşağıdaki gibi bir yöntemi vardır: IEnumerable<User> GetUser(int id); Ve Projects'in genel arayüzünün aşağıdaki gibi bir yöntemi vardır: IEnumerable<User> GetProjectUsers(int projectId); Örneğin, belirli bir …

6
Veritabanıyla ilgili yöntemler tasarlamak, hangisini döndürmek daha iyidir: true / false veya row etkilenmiş mi?
Bir veritabanında (ekleme, güncelleme ve silme) bazı veri değiştirme gerçekleştirmek için bazı yöntemler var. ORM Ben yöntemin bu tip dönüş satır etkilenen int değerleri kullanıyorum. İşlemin başarı / başarısızlık durumunu belirtmek için "yöntemim" için ne döndürmeliyim? Aşağıdaki kodu döndüren kodu düşünün int: A.1 public int myLowerLevelMethod(int id) { ... int …

2
Ayrıştırılmış mimariler oluşturmak için paketleri (mücevherler, yumurtalar, vb.) Kullanma
Ana konu En modern programlama platformları paket yönetimi (düşünmek için sahip iyi destek görünce gem, npm, pipböylece teşvik etmek ve bir gevşek bağlı bir mimari oluşturmak için, dahili olarak geliştirilen paketlerin oluşur bir uygulama veya sistem tasarımı için anlamlı mı, vs.)? Misal Buna bir örnek, veritabanı erişimi, kimlik doğrulama ve …

1
Tek bir geliştirici için Ekstrem Programlama [kapalı]
Kapalı . Bu sorunun daha fazla odaklanması gerekiyor . Şu anda cevapları kabul etmiyor. Bu soruyu geliştirmek ister misiniz? Soruyu, yalnızca bu yayını düzenleyerek tek bir soruna odaklanacak şekilde güncelleyin . 4 yıl önce kapalı . Son iki haftadır bazı temel aşırı programlama konseptleriyle, küçük ölçekli, kar amaçlı, çok oyunculu, …

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.