C # to wieloparadygmatyczny, zarządzany obiektowy język programowania ze zbieraniem elementów bezużytecznych stworzony przez firmę Microsoft równolegle z platformą .NET
Czy wskazane jest utworzenie wielu klas w pliku .cs czy każdy plik .cs powinien mieć osobną klasę? Na przykład: public class Items { public class Animal { } public class Person { } public class Object { } } Pomijając fakt, że jest to kiepski przykład dobrej architektury, czy więcej …
Czasami natrafiam na metody, w których programista postanowił zwrócić coś, co nie jest krytyczne dla funkcji. Mam na myśli, że patrząc na kod, wygląda na to, że działa tak samo dobrze, voida po chwili zastanowienia pytam „Dlaczego?” Czy to brzmi znajomo? Czasami zgadzam się, że najczęściej lepiej jest zwrócić coś …
Korzystając z programowania obiektowego mamy moc tworzenia klasy wewnątrz klasy (klasa zagnieżdżona), ale nigdy nie tworzyłem zagnieżdżonej klasy w ciągu 4 lat doświadczenia w programowaniu. Do czego służą klasy zagnieżdżone? Wiem, że klasa może być oznaczona jako prywatna, jeśli jest zagnieżdżona i że możemy uzyskać dostęp do wszystkich prywatnych członków …
Jaka jest najlepsza praktyka, gdy w aplikacji komputerowej występują nieobsługiwane wyjątki? Myślałem o wyświetleniu użytkownikowi wiadomości, aby mógł skontaktować się z pomocą techniczną. Poleciłbym użytkownikowi ponowne uruchomienie aplikacji, ale nie wymuszanie jej. Podobne do omawianych tutaj: ux.stackexchange.com - Jaki jest najlepszy sposób radzenia sobie z nieoczekiwanymi błędami aplikacji? Projekt jest …
Prawo Demeter stwierdza co następuje: Każda jednostka powinna mieć ograniczoną wiedzę na temat innych jednostek: tylko jednostki „ściśle” związane z bieżącą jednostką. Każda jednostka powinna rozmawiać tylko z przyjaciółmi; nie rozmawiaj z nieznajomymi. Rozmawiaj tylko z najbliższymi przyjaciółmi. W C # 6.0 wprowadzono nowy operator o nazwie operator null-warunkowy . …
public class MyClass { public object Prop1 { get; set; } public object Prop2 { get; set; } public object Prop3 { get; set; } } Załóżmy, że mam obiektu myObjectz MyClassi muszę zresetować swoje właściwości, lepiej jest utworzyć nowy obiekt lub przypisać każdą właściwość? Załóżmy, że nie mam żadnego …
Pytanie: Dlaczego Java / C # nie może implementować RAII? Wyjaśnienie: Wiem, że śmieciarz nie jest deterministyczny. Dlatego przy obecnych funkcjach językowych nie jest możliwe automatyczne wywoływanie metody Dispose () obiektu przy wyjściu z zakresu. Ale czy można dodać taką cechę deterministyczną? Moje zrozumienie: Wydaje mi się, że implementacja RAII …
Aby być wymiennymi i testowalnymi, zwykle usługi logiczne muszą mieć interfejs, np public class FooService: IFooService { ... } Pod względem projektowym zgadzam się z tym, ale jedną z rzeczy, która przeszkadza mi w tym podejściu, jest to, że w przypadku jednej usługi musisz zadeklarować dwie rzeczy (klasę i interfejs), …
Czy oczekiwane wyniki testu jednostkowego powinny być zakodowane na stałe, czy też mogą zależeć od zainicjowanych zmiennych? Czy wyniki zapisane na stałe lub obliczone zwiększają ryzyko wprowadzenia błędów w teście jednostkowym? Czy są jeszcze inne czynniki, których nie wziąłem pod uwagę? Na przykład, który z tych dwóch formatów jest bardziej …
Załóżmy, że mam dwie klasy, które wyglądają tak (pierwszy blok kodu i ogólny problem są związane z C #): class A { public int IntProperty { get; set; } } class B { public int IntProperty { get; set; } } Klasy te nie mogą być w żaden sposób zmieniane …
Czytałem kilka artykułów na temat zalet tworzenia Ogólnych repozytoriów dla nowej aplikacji ( przykład ). Pomysł wydaje się miły, ponieważ pozwala mi używać tego samego repozytorium do robienia kilku rzeczy dla kilku różnych typów jednostek jednocześnie: IRepository repo = new EfRepository(); // Would normally pass through IOC into constructor var …
Piszę sporo PHP od prawie dwóch lat. Teraz zajmuję się programowaniem .NET (głównie c #). Czasami jednak wracam i robię php. Moje główne pytanie brzmi: czy mądrze jest nadal to robić, czy powinienem kontynuować rozwój w C #? Czy zaszkodziłoby mi to na dłuższą metę (pamiętajcie, że moim głównym celem …
Istnieją takie ramy, które pomagam zaprojektować. Istnieje kilka typowych zadań, które należy wykonać przy użyciu niektórych typowych komponentów: w szczególności rejestrowanie, buforowanie i wywoływanie zdarzeń. Nie jestem pewien, czy lepiej jest użyć wstrzykiwania zależności i wprowadzić wszystkie te składniki do każdej usługi (na przykład właściwości), czy też powinienem umieścić jakieś …
potrzebuję niektórych z was, aby pamiętać o czasach, w których mogłeś być zły w programowaniu ... Byłem w mojej nowej pracy (jako programista) od kilku miesięcy, przeszedłem okres próbny. Mam bardzo małe doświadczenie w programowaniu (tylko C ++) i obecnie pracuję z asp.net MVC i silverlight. Jest więc strona internetowa, …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.