«c#» etiketlenmiş sorular

C #, .NET platformuna paralel olarak Microsoft tarafından oluşturulan çok parametreli, yönetilen, çöp toplanan nesne yönelimli bir programlama dilidir.

2
Web sitemizi tek bir dll mi yoksa sayfa başına bir dll mi?
Çok sayıda müşteri sitesine dağıtılacak yeni bir proje geliştiriyoruz. Proje, "erişim noktalarından" biri olarak web tabanlı bir GUI içerir. Web arayüzünün hızı bu proje için sadece güvenlikten sonra ikinci sıradadır. Geçmişte, Visual Studio'da her zaman "web siteleri" oluşturduk, bu yayınlandığında sistemdeki her sayfa için bir dll ve bir aspx dosyası …

5
Referansla geçirilen bir nesneyi değiştirmek kötü bir uygulama mıdır?
Geçmişte, genellikle bir nesneyi oluşturduğum / güncellediğim birincil yöntemdeki manipülasyonumun çoğunu yaptım, ancak son zamanlarda kendimi farklı bir yaklaşımla buldum ve bunun kötü bir uygulama olup olmadığını merak ediyorum. İşte bir örnek. Diyelim ki bir Uservarlığı kabul eden bir havuzum var, ancak varlığı eklemeden önce, tüm alanlarının istediğimiz şeye ayarlandığından …

6
Değişmez tiplerin dezavantajları nelerdir?
Sınıf örneklerinin değişmesi beklenmediğinde kendimi gittikçe daha fazla değişmez tür kullandığımı görüyorum . Daha fazla çalışma gerektirir (aşağıdaki örneğe bakın), ancak türlerin çok iş parçacıklı bir ortamda kullanılmasını kolaylaştırır. Aynı zamanda, değişebilirlik kimseye fayda sağlamayacak olsa bile, diğer uygulamalarda değişmez türleri nadiren görüyorum. Soru: Değişmez tipler neden diğer uygulamalarda bu …
12 c#  immutability 

1
Ziyaretçi desenini büyük nesne hiyerarşisiyle kullanma
bağlam Nesnelerin bir hiyerarşisi (bir ifade ağacı) bir "sözde" ziyaretçi desen (sözde, çift gönderme kullanmaz gibi) ile kullanıyorum: public interface MyInterface { void Accept(SomeClass operationClass); } public class MyImpl : MyInterface { public void Accept(SomeClass operationClass) { operationClass.DoSomething(); operationClass.DoSomethingElse(); // ... and so on ... } } Ancak, MyInterface'in uygulama …

4
Veri Erişim Katmanındaki İş Nesneleri
Bu yüzden TDD aracılığıyla bir veri erişim katmanı oluşturuyorum ve endişe duyuyorum. Yanlış yola başlamak istemem, bu yüzden sizden düşüncelerimin temiz bir mimariye uygun olup olmadığını görmenizi isteyeceğim. Veri Erişim Katmanımdaki (kısaca DAL) yöntemler oldukça basittir. Veritabanındaki saklı yordamlarla uyumludur (işleri temiz tutmak için onu çağırmanın başka bir yolu yoktur) …


8
Günlük kodunu tamamen iş mantığının dışında tutmak mümkün müdür?
AOP yardımı ile günlük kodunu iş mantığımdan kaldırabilirim. Ama sadece basit şeyler (yani günlükleme yöntemi giriş / çıkış ve parametre değerleri) günlüğe kaydetmek için kullanılabilir düşünüyorum. Ancak, iş mantığımda bir şey kaydetmem gerekirse ne olur? Örneğin public void SomeDomainMethod(string id) { //Get user by Id User user = Users.Get(id); if …

4
OO dilinde mantıksal olarak prosedür yazılımı yazmanın en temiz yolu
Ben bir elektrik mühendisiyim ve ne yaptığımı bilmiyorum. Lütfen gelecekteki kodlarımı sakla. Son zamanlarda işlevselliği mantıksal olarak "yordamsal" olan bir dizi küçük program (C #) üzerinde çalışıyorum. Örneğin, bunlardan biri, farklı veritabanlarından bilgi toplayan, bu bilgileri bir tür özet sayfası oluşturmak, onu yazdırmak ve sonra çıkmak için kullanan bir programdır. …

5
Varlık Çerçevesi ile Etki Alanında Tasarımın Tuzakları
İncelediğim DDD hakkında birçok ders çoğunlukla teoriyi kapsıyor. Hepsinin ilkel kod örnekleri vardır (Çoğul görüş ve benzeri). Web'de ayrıca birkaç kişi tarafından DDD ile EF'yi kapsayan öğreticiler oluşturma girişimleri de vardır. Onları kısaca incelemeye başlarsanız - birbirlerinden çok farklı olduklarını hemen fark edersiniz. Bazı insanlar uygulamayı asgari düzeyde tutmayı ve …

2
IComparable arayüzü eski / “zararlı” mı?
IComparable sadece tek yönlü çalışır Diyelim ki bir dersiniz var Employee. Bir görünümde, tüm Employeesadları ada göre sıralanmış olarak, diğerinde, adrese göre göstermek istersiniz . Bunu nasıl başaracaksınız? Değil ile IComparableen azından hiçbir deyimsel bir şekilde. IComparable mantığı yanlış yerde tutmak Arayüz çağrılarak kullanılır .Sort(). Ada göre Customersıralanmış bir görünümde …
11 c#  sorting  comparison 

2
Etki Alanı Nesnesinin oluşturulmasını test etmek için Birim Testi
Şöyle bir Birim Testi var: [Test] public void Should_create_person() { Assert.DoesNotThrow(() => new Person(Guid.NewGuid(), new DateTime(1972, 01, 01)); } Burada bir Person nesnesi oluşturulduğunu, yani doğrulama başarısız olduğunu iddia ediyorum. Örneğin, Rehber null olursa veya doğum tarihi 01/01/1900'den önce ise, doğrulama başarısız olur ve bir istisna atılır (test başarısız olur). …

5
Bellek tarafından yönetilen diller için referans sayma düzeni?
Java ve .NET, sizin için belleği yöneten harika çöp toplayıcılara ve harici nesneleri ( Closeable, IDisposable) hızlı bir şekilde serbest bırakmak için uygun kalıplara sahiptir , ancak yalnızca tek bir nesneye aitse. Bazı sistemlerde bir kaynağın iki bileşen tarafından bağımsız olarak tüketilmesi gerekebilir ve yalnızca her iki bileşen de kaynağı …

1
MVC desenini bir C # WinForms uygulamasına nasıl uygulayabilirim?
O zamandan beri GUI'leri tasarlamak için MVC desenini kullanan bir C ++ geliştiricisiyim. Son zamanlarda C # 'a geri dönmek istedim ve bir Windows Forms uygulaması kurdum, ancak şimdi MVC uyumlu bir yapıya nasıl iteceğim konusunda biraz kayboldum. Şu anda yapmaya çalıştığım bir görünüm olarak WinForms için verilen sınıf "beyan" …
11 c#  mvc  winforms 

4
C # arabiriminde bir önkoşul (LSP) nasıl belirtilir?
Diyelim ki şu arayüze sahibiz - interface IDatabase { string ConnectionString{get;set;} void ExecuteNoQuery(string sql); void ExecuteNoQuery(string[] sql); //Various other methods all requiring ConnectionString to be set } Önkoşul, herhangi bir yöntem çalıştırılmadan önce ConnectionString'in ayarlanması / başlatılması gerektiğidir. Bu önkoşul, IDatabase soyut veya somut bir sınıf olsaydı bir yapıcı aracılığıyla …

3
Varlık Çerçevesi ve Anemik Alan Modelinden Kaçınmak
İş mantığımızda bazen böyle bir şeyi tanımlayan yöntemlerimiz vardır: User.ResetCourse(Course courseToReset) Sorun, hem Kullanıcı hem de Ders'in Entity Framework proxy nesneleri olmasıdır. Bu, Kullanıcı veya Parkurda navigasyon özelliklerine bastığımızda, veritabanına büyük bir isabet yaratabileceği anlamına gelir, çünkü bu nesneler IQueryable değildir, bu yüzden normalde bunlar üzerinden yinelenir. Bunu çözmek için …

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.