Pytania otagowane jako design-patterns

Wzorzec projektowy jest ogólnym rozwiązaniem wielokrotnego użytku dla często występującego problemu w projektowaniu oprogramowania.

5
Oddzielny interfejs dla metod mutacji
Pracowałem nad refaktoryzacją kodu i myślę, że mogłem zrobić pierwszy krok w stronę króliczej nory. Piszę przykład w Javie, ale przypuszczam, że może być agnostyczny. Mam interfejs Foozdefiniowany jako public interface Foo { int getX(); int getY(); int getZ(); } I wdrożenie jako public final class DefaultFoo implements Foo { …

2
Czym różni się wzorzec publikowania i subskrybowania od gotos?
Rozumiem, że stwierdzenia Goto są na ogół niezadowolone . Ale wzorzec publikowania i subskrybowania wydaje się być koncepcyjnie podobny, ponieważ kiedy fragment kodu publikuje komunikat, wykonuje jednostronne przekazanie kontroli. Programista może nie mieć pojęcia, które części programu subskrybują ten komunikat. Widziałem coś podobnego w wielu programach JavaScript, w których zdarzenia …

1
Poziom MVC + 3; gdzie wchodzi ViewModels?
Projektuję 3-warstwową aplikację przy użyciu ASP.NET MVC 4. Użyłem następujących zasobów jako odniesienia. CodeProject: MVC + N-tier + Entity Framework Oddzielanie dostępu do danych w ASP.NET MVC Do tej pory mam następujący desingn. Warstwa prezentacji (PL) (główny projekt MVC, gdzie M z MVC została przeniesiona do Data Access Layer): MyProjectName.Main …


4
Projekt wzorca poleceń
Mam tę starą implementację wzorca poleceń. To rodzaj przekazywania kontekstu przez całą implementację DIOperation , ale później uświadomiłem sobie, że proces uczenia się i uczenia się (który nigdy się nie kończy) nie jest optymalny. Myślę też, że „odwiedzanie” tutaj nie pasuje i po prostu myli. Właściwie myślę o refaktoryzacji mojego …




8
Dlaczego wzorce projektowe nie są dodawane do konstrukcji języków?
Ostatnio rozmawiałem z kolegą, który wspomniał, że jego firma pracuje nad dodaniem wzorca projektowego MVC jako rozszerzenia PHP. Wyjaśnił, że napisali kod C w celu dodania Controllers, Models and Viewsdo konstrukcji języka w celu zwiększenia wydajności. Teraz wiem, że MVC to wzorzec projektowania architektonicznego, który jest szeroko stosowany w aplikacjach …

9
Jakiego projektu OO użyć (czy istnieje wzorzec projektu)?
Mam dwa przedmioty reprezentujące „Bar / Klub” (miejsce, w którym pijesz / spędzasz czas z przyjaciółmi). W jednym scenariuszu potrzebuję nazwy paska, adresu, odległości, hasła W innym scenariuszu potrzebuję nazwy paska, adresu, adresu URL strony internetowej, logo Mam więc dwa obiekty reprezentujące to samo, ale z różnymi polami. Lubię używać …


2
Jakie są zalety oddzielenia „wyniku” od „statusu”
Załóżmy, że masz zautomatyzowane procesy, które zasadniczo przechodzą przez następujące stany; zaplanowane - zainicjowane - sprawdzanie poprawności - wykonywanie - zakończone Ponadto procesy te mogą przedwcześnie zakończyć się z powodu błędu lub wyraźnego anulowania użytkownika. Moim pierwszym impulsem jest po prostu dodanie błędu i anulowanie do listy możliwych wartości statusu, …

4
Czy iterator ma dorozumianą nieniszczącą umowę?
Powiedzmy, że projektuję niestandardową strukturę danych, taką jak stos lub kolejka (na przykład - może to być inna dowolna kolekcja uporządkowana, która ma logiczny odpowiednik pushi popmetody - tj. Niszczące metody akcesora). Jeśli wdrażasz iterator (szczególnie w .NET IEnumerable<T>) w tej kolekcji, która pojawia się przy każdej iteracji, czy byłoby …


6
Walka z zasadą pojedynczej odpowiedzialności
Rozważ ten przykład: Mam stronę internetową Pozwala użytkownikom tworzyć posty (mogą być dowolne) i dodawać tagi opisujące posty. W kodzie mam dwie klasy reprezentujące post i tagi. Nazwijmy te klasy Posti Tag. Postzajmuje się tworzeniem postów, usuwaniem postów, aktualizowaniem postów itp. Tagzajmuje się tworzeniem tagów, usuwaniem tagów, aktualizowaniem tagów itp. …

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.