«architecture» etiketlenmiş sorular

Bir yazılım sisteminin üst düzey tasarımı ve açıklaması. Mimari tasarım, uygulamaların, algoritmaların ve veri sunumunun ayrıntılarını, "kara kutu" bileşenlerinin etkileşimine odaklanmak için ayırır.

30
Kendi programlama dilimi ve bunun için bir derleyicimi nasıl oluşturabilirim [kapalı]
Programlama konusunda kapsamlıyım ve BASIC, FORTRAN, COBOL, LISP, LOGO, Java, C ++, C, MATLAB, Mathematica, Python, Ruby, Perl, JavaScript, Assembly vb. Gibi dillerle karşılaştım. İnsanların programlama dillerini nasıl yarattıklarını ve bunun için derleyiciler nasıl geliştirdiklerini anlamıyorum. İnsanların nasıl Windows, Mac, UNIX, DOS ve benzeri işletim sistemleri yarattıklarını da anlayamadım. Bana …

17
Erken optimizasyon gerçekten tüm kötülüklerin kökeni midir?
Bugün bir meslektaşım, ThreadLocalFormattemelde Java Format sınıflarının örneklerini yerel bir iş parçacığına dönüştüren bir sınıf işledi , çünkü iş parçacığı güvenli ve "nispeten pahalı" olmadı. Hızlı bir test yazdım ve saniyede 200.000 örnek oluşturabileceğimi hesapladım, kendisine "hiçbirine yakın hiçbir yerde" yanıtladığı o kişiyi yarattığını sordum. O harika bir programcı ve …

16
Tek Sorumluluk İlkesini kullanırken, “sorumluluk nedir?”
"Tek Sorumluluk İlkesi" nin "sadece bir şey yaptığı" anlamına gelmediği çok açık görünüyor. Bunun için yöntemler var. public Interface CustomerCRUD { public void Create(Customer customer); public Customer Read(int CustomerID); public void Update(Customer customer); public void Delete(int CustomerID); } Bob Martin, “sınıfların değişmesi için tek bir neden olması gerektiğini” söylüyor. Ancak, …


17
Dönüş değerinin bulunmadığı fonksiyon / yöntemlerden NULL değeri veya boş değerler döndürmek daha mı iyidir?
Burada bir öneri arıyorum. Dönüş değeri olmadığında veya belirlenemediğinde, bir yöntemden NULL veya boş bir değer döndürmenin daha iyi olup olmadığıyla mücadele ediyorum. Aşağıdaki iki yöntemi örnek olarak alın: string ReverseString(string stringToReverse) // takes a string and reverses it. Person FindPerson(int personID) // finds a Person with a matching personID. …

9
Birden fazla kalıtımın nefret edilmesinin “gerçek” bir nedeni var mı?
Her zaman bir dilde çoklu miras alma fikrini sevdim. Çoğu zaman kasıtlı olarak affedilmiş olmasına rağmen ve sözde "değiştirme" arayüzlerdir. Arayüzler, çoklu kalıtımın aynı toprakları kapsamaz ve bu kısıtlama zaman zaman daha fazla kazan koduna yol açabilir. Bunun için duyduğum tek temel sebep , temel sınıflardaki elmas problemi . Bunu …

8
Bağımlılık enjeksiyonunun eleştirisi ve dezavantajları
Bağımlılık enjeksiyonu (DI) iyi bilinen ve şık bir kalıptır. Mühendislerin çoğu, avantajlarını biliyorlar: Ünite testlerinde izolasyonu mümkün kılmak / kolaylaştırmak Bir sınıfın bağımlılıklarını açıkça tanımlamak İyi tasarımın kolaylaştırılması ( örneğin, tek sorumluluk prensibi (SRP)) Etkinleştirme hızlı bir şekilde (uygulamaları geçiş DbLoggeryerine ConsoleLoggerörneğin) Sanırım DI'nin iyi ve faydalı bir model olduğu …

10
C # “Static” kullanmayın mu?
Kod incelemesi için diğer bazı mimarlara yazdığım bir başvuruyu gönderdim. Onlardan biri neredeyse hemen bana geri döndü ve "statik kullanma" dedi. Statik sınıf ve yöntemlerle otomatikleştirilmiş testler yazamazsınız. "Statik" önlenmeli. " Kontrol ettim ve derslerin 1 / 4'ü "statik" olarak işaretlendi. Sınıfın bir örneğini oluşturamayacağım zaman statik kullanırım çünkü sınıf …

5
İyi mimari ve soyutlama katmanlama kavramlarıyla çelişen C # 'daki async / await kullanım kılavuzları değil mi?
Bu soru C # diliyle ilgilidir, ancak Java veya TypeScript gibi diğer dilleri kapsamasını bekliyorum. Microsoft , .NET'te zaman uyumsuz çağrıları kullanma konusunda en iyi uygulamaları önerir . Bu tavsiyeler arasında, iki tane seçelim: Eşzamansız yöntemlerin imzasını değiştirerek Görev veya Görev <> öğelerini döndürürler (TypeScript'te bir Söz <> olur) xxxAsync …
103 c#  architecture  async 

9
Neden bağımlılık enjeksiyonunu kullanmalıyım?
Bağımlılık enjeksiyonunu neden kullanmam gerektiğine dair kaynakları aramakta zorlanıyorum . Gördüğüm kaynakların çoğu bir nesnenin bir örneğini bir nesnenin başka bir örneğine geçtiğini açıklıyor, ama neden? Bu sadece daha temiz mimari için mi / kod mu yoksa performansı bir bütün olarak etkiler mi? Neden aşağıdakileri yapmalıyım? class Profile { public …

17
Kullanıcı Arabirimi sınıflarının bir komut satırı arayüzü ile değiştirilebileceğini düşünerek bir mimari tasarlamak iyi bir fikir midir?
Kod Tamamlama sayfa 25'te, normal kullanıcı arayüzü sınıflarını bir komut satırı ile kolayca değiştirmenin iyi bir fikir olduğu söylenir. Test etmenin avantajlarını bilerek, getirebilecekleri sorunlar ne olacak? Bu ekstra iş gerçekten web ve mobil projeler için karşılığını alacak mı? Küçük ve orta ölçekli projelerden ne haber; aynı kurallar geçerli mi? …


9
Büyük “açık kod” uygulamalarından uzak kodlara sahipken büyük açık kaynak kodlu kütüphaneler nasıl korunur?
Hala yüksek kaliteli kod yazma konusunda deneyimsizim, bu yüzden Robert C. Martin tarafından Temiz Kod gibi konulara yönelik kitapları okudum ve becerilerimi geliştirmek için iyi bilinen kütüphanelerin kodlarını kontrol etmeye devam ediyorum. Birçok açık kaynak kütüphanesi yıllarca korunmasına rağmen, doğru yolda olmadıklarının çok düşük olmaları anlamına gelir, çoğu koddaki kodları …

7
Mikro hizmetler için en çok kabul edilen işlem stratejisi nedir?
Gördüğüm en önemli sorunlardan biri, mikro hizmetlere sahip bir sistemde ortaya çıkıyor, işlemlerin farklı hizmetlere yayıldıklarında çalışma şekli. Kendi mimarimiz içinde, bunu çözmek için dağıtılmış işlemleri kullanıyoruz, ancak kendi sorunları ile geliyorlar. Özellikle çıkmazlar şu ana kadar bir acı oldu. Diğer bir seçenek, sisteminizdeki akışları bilen ve tüm sisteminize yayılan …

17
“Akıllı” kod yazmamak için kendinizi nasıl eğitin? [kapalı]
Bu yeni numarayı sadece üç farklı prosedürle göstermeniz veya genelleştirmeniz gerektiğinde bu hissi biliyor musunuz Expression? Bunun Mimarlık Astronot ölçeğinde olması gerekmez ve aslında yardımcı olabilir, ancak yardım edemem ama aynı sınıf veya paketi daha net, anlaşılır (ve bazen de sıkıcı) bir şekilde uygulayacağını fark ettim. Sık sık , sorunu …

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.