«class-design» etiketlenmiş sorular

En iyi bilinen endüstri uygulamalarına sahip sınıfların nasıl tasarlanacağına ilişkin genel yönergeler.

5
Bir yapıcıyı nasıl parçalayabilirsiniz?
Diyelim ki bir Düşman dersim var ve kurucu şöyle bir şeye benzeyecek: public Enemy(String name, float width, float height, Vector2 position, float speed, int maxHp, int attackDamage, int defense... etc.){} Bu kötü görünüyor, çünkü yapıcının çok fazla parametresi var, ancak bir Düşman örneği oluşturduğumda bunların hepsini belirtmem gerekiyor. Ayrıca, bu …

9
Özel / iç sınıfı ne zaman kullanmalısınız?
Açıklığa kavuşturmak için, sorduğum şey public class A{ private/*or public*/ B b; } vs. public class A{ private/*or public*/ class B{ .... } } Birini veya diğerini kullanmanın bazı nedenlerini kesinlikle düşünebilirim, ama gerçekten görmek istediğim şey, artı ve eksilerin sadece akademik olmadığını gösteren inandırıcı örnekler.

7
Sınıfları “Bilgi” sonekiyle adlandırmanın ardındaki fikir nedir, örneğin: “SomeClass” ve “SomeClassInfo”?
Fiziksel cihazlarla ilgilenen bir projede çalışıyorum ve bu projedeki bazı sınıfların nasıl düzgün bir şekilde adlandırılacağı konusunda kafam karıştı. Gerçek cihazlar (sensörler ve alıcılar) bir şey ve onların yazılımda temsil başka bir şey göz önüne alındığında , ben bazı sınıfları "Bilgi" soneki ad desen ile adlandırmayı düşünüyorum. Örneğin, a Sensor, …

4
Java nesnesini neden uygulama yerine arabirim (örneğin Harita) kullanarak tanımlamanız gerekir?
Çoğu Java kodunda, insanların böyle Java nesneleri bildirdiklerini görüyorum: Map<String, String> hashMap = new HashMap<>(); List<String> list = new ArrayList<>(); onun yerine: HashMap<String, String> hashMap = new HashMap<>(); ArrayList<String> list = new ArrayList<>(); Java nesnesini gerçekte kullanılacak uygulama yerine arabirimi kullanarak tanımlamak neden tercih edilir?

7
Değişmez sınıflar hangi noktada yük haline gelir?
Veri modelinizi tutmak için sınıflar tasarlarken, değiştirilemeyen nesneler oluşturmak yararlı olabilir, ancak yapıcı parametre listelerinin ve derin kopyaların yükü çok fazla olur ve değişmez kısıtlamayı terk etmek zorunda kalırsınız? Örneğin, burada adlandırılmış bir şeyi temsil eden değişmez bir sınıf var (C # sözdizimini kullanıyorum ancak ilke tüm OO dilleri için …

2
'Fayda fonksiyonları' sınıflarının evcilleştirilmesi
Java kod tabanımızda aşağıdaki modeli görmeye devam ediyorum: /** This is a stateless utility class that groups useful foo-related operations, often with side effects. */ public class FooUtil { public int foo(...) {...} public void bar(...) {...} } /** This class does applied foo-related things. */ class FooSomething { int …



3
RxJava sınıfı Flowable'ın yasal olarak 460 yöntemi olabilir mi?
Ben sadece RxJava , Java'nın ReactiveX ( Rx ve Reaktif Uzantıları olarak da bilinir) uygulaması ile başlıyorum . Gerçekten bana vurdu o şey kitlesel büyüklüğündeydi RxJava en Akışkan sınıfta : o 460 yöntemleri vardır! Adil olmak: Aşırı yüklenmiş, toplam yöntem sayısını önemli ölçüde çarptıran birçok yöntem vardır. Belki de bu …

4
Tek Sorumluluk modeli sınıflar için ne kadar spesifik olmalıdır?
Örneğin, konsoldan ve konsoldan her türlü giriş / çıkış yöntemine sahip bir konsol oyun programınız olduğunu varsayalım. Tek hepsini tutmak için akıllı olurdu inputOutputsınıf veya gibi daha spesifik sınıflara onları yıkmak startMenuIO, inGameIO, playerIO, gameBoardIO, her sınıf 1-5 yöntemleri hakkında sahip vb öyle ki? Ve aynı notta, onları parçalamak daha …

5
Fabrika olarak temel sınıflar?
Hafta sonu bazı kodlar yazıyordum ve kendimi bir fabrikaya temel sınıfta statik yöntem olarak yazmak istediğimi fark ettim. Sorum basitçe bunun ac # idomatik bir yaklaşım olup olmadığını bilmek? Olamayabileceğimi düşünüyorum, temel sınıfın türetilmiş sınıf hakkında bilgi sahibi olması gerçeğinden geliyor. Bununla birlikte, aynı sonucu elde etmenin daha basit bir …
14 c#  class-design 

3
Davranış Olarak Arayüzlü Soyut Temel Sınıf?
C # projem için bir sınıf hiyerarşisi tasarlamam gerekiyor. Temel olarak, sınıfın işlevleri WinForms sınıflarına benzer, bu yüzden örnek olarak WinForms araç setini ele alalım. (Ancak, WinForms veya WPF kullanamıyorum.) Her sınıfın sağlaması gereken bazı temel özellikler ve işlevler vardır. Boyutlar, konum, renk, görünürlük (doğru / yanlış), Çizim yöntemi vb. …

2
Tasarım: Object yöntemi vs Object'i parametre olarak alan ayrı sınıfın yöntemi?
Örneğin, yapmak daha iyidir: Pdf pdf = new Pdf(); pdf.Print(); veya: Pdf pdf = new Pdf(); PdfPrinter printer = new PdfPrinter(); printer.Print(pdf); Başka bir örnek: Country m = new Country("Mexico"); double ratio = m.GetDebtToGDPRatio(); veya: Country m = new Country("Mexico"); Country us = new Country("US"); DebtStatistics ds = new DebtStatistics(); …

4
Tek sorumluluğa sahip büyük sınıf
2500 Satır Charactersınıfı var: Oyundaki karakterin dahili durumunu izler. Bu durumu yükler ve devam ettirir. ~ 30 gelen komutu işler (genellikle = komut satırına iletir Game, ancak bazı salt okunur komutlar hemen yanıtlanır). Yaptığı Gameeylemler ve diğerlerinin ilgili eylemleri hakkında ~ 80 çağrı alır. Bana göre Charactertek bir sorumluluğu var: …

2
Bir özellik veya yöntem olarak "hesaplanan" değeri göstermeli miyim?
Bir web içerik yönetim sisteminde bir içerik türünü temsil eden bir C # sınıfı var. Web içerik düzenleyicisinin, nesnenin nasıl görüntülendiğine ilişkin bir HTML şablonu girmesine izin veren bir alanımız var. Temel olarak nesne özellik değerlerini HTML dizesine koymak için gidon sözdizimini kullanır: <h1>{{Title}}</h1><p>{{Message}}</p> Sınıf tasarımı açısından, biçimlendirilmiş HTML dizesini …

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.