Pytania otagowane jako design

Pytania dotyczące rozwiązywania problemów i planowania rozwiązania poprzez projektowanie oprogramowania.



9
Jak podzielić duże, ściśle powiązane klasy?
Mam kilka ogromnych klas ponad 2k wierszy kodu (i ciągle rośnie), które chciałbym przebudować, jeśli to możliwe, aby mieć trochę więcej lekkiego i czystego projektu. Powód, dla którego jest tak duży, to głównie dlatego, że klasy te obsługują zestaw map, do których większość metod potrzebuje dostępu, a metody są ze …

4
Czy powinniśmy zmienić nazwę przeciążonych metod?
Załóżmy interfejs zawierający te metody: Car find(long id); List<Car> find(String model); Czy lepiej zmienić ich nazwy w ten sposób? Car findById(long id); List findByModel(String model); Rzeczywiście, każdy programista, który korzysta z tego interfejsu API, nie musi patrzeć na interfejs, aby poznać możliwe argumenty find()metod początkowych . Więc moje pytanie jest …

4
Czy należy preferować spójność zamiast konwencji programowania?
Czy przy projektowaniu klasy należy preferować spójność w zachowaniu zamiast powszechnej praktyki programowania? Aby podać konkretny przykład: Powszechna konwencja jest następująca: jeśli klasa jest właścicielem obiektu (np. Go utworzył), jest odpowiedzialna za jego wyczyszczenie po zakończeniu. Konkretnym przykładem może być .NET, że jeśli twoja klasa jest właścicielem IDisposableobiektu, powinna go …
14 design  .net 

8
W jakich okolicznościach schematy blokowe są nadal cennym i użytecznym narzędziem?
Kiedy zaczynałem programować, polegałem głównie na schematach blokowych (i schematach odstępów między drukarkami). Gdy byłem w klasie COBOL, nie mogłem zacząć pisać żadnego kodu, dopóki mój schemat blokowy nie zostanie podpisany przez instruktora. Wtedy musiałem stworzyć schemat blokowy dla wszystkiego. Dzisiaj, dwadzieścia pięć lat później, odkrywam, że wykreślam tylko dwa …

10
Co powinieneś zrobić, gdy masz okropny design?
Nasza firma tworzy strony internetowe. Projektujemy także strony internetowe. Ale czasami nasz klient przynosi swój własny projekt. Często jest to wykonane przez projektanta wewnętrznego lub jest to ten sam projekt, którego użyli do czegoś innego. Czasami jednak te projekty wyglądają okropnie. I mówię naprawdę nieprofesjonalny, niezrównoważony, niefajny. Ale klient naprawdę …
14 design 

3
Jak skonfigurować MVP dla rozwiązania Winforms?
W przeszłości korzystałem z MVP i MVC i wolę MVP, ponieważ moim zdaniem znacznie lepiej kontroluje przebieg wykonywania. Stworzyłem swoją infrastrukturę (klasy magazynu danych / repozytorium) i używam ich bez problemu podczas twardego kodowania przykładowych danych, więc teraz przechodzę do GUI i przygotowuję MVP. Sekcja A Widziałem MVP używającego widoku …

5
Dlaczego nie możemy efektywniej uchwycić projektu oprogramowania? [Zamknięte]
Zamknięte . To pytanie jest oparte na opiniach . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby można było na nie odpowiedzieć faktami i cytatami, edytując ten post . Zamknięte 4 lata temu . Jako inżynierowie wszyscy „projektujemy” artefakty (budynki, programy, obwody, molekuły ...). To działanie (design-the-czasownik), …

10
Jak skutecznie „sprzedać” dobry projekt podczas dużych spotkań
Wiele razy byłem świadkiem smutnej tragedii. Oto co się dzieje: Przegląd projektu zespołu dla nowego projektu. Widzę prosty projekt, który ma sporo dziur. Od niechcenia wspominam o dziurach i sposobach ich uniknięcia. Ostrzeżenia są ignorowane w komentarzach typu „nigdy nie zdarzyło się” W końcu dzieją się rzeczy, które „nigdy” się …
14 design  team 

4
Powielanie kodu bez oczywistej abstrakcji
Czy kiedykolwiek spotkałeś się z przypadkiem duplikacji kodu, w którym, patrząc na linie kodu, nie mogłeś dopasować do niego abstrakcji tematycznej, która wiernie opisuje jego rolę w logice? A co zrobiłeś, aby to rozwiązać? Jest to powielanie kodu, więc idealnie musimy zrobić refrakcję, na przykład nadać jej własną funkcję. Ale …

3
Sprzężenie kodu wprowadzone przez DRY i OOD
Szukam wskazówek na temat łączenia DRY vs Code. Nie lubię powielać mojego kodu, a także nie lubię łączenia kodu między niepowiązanymi modułami. Dlatego zmieniam kod zduplikowanego kodu, jeśli znajdę identycznie zduplikowany kod rok po wprowadzeniu duplikacji. Jednak coraz częściej doświadczam sytuacji, w których świat rzeczywisty jest znacznie bardziej nieprzewidywalny, a …
14 design  dry  coupling 

3
Jaki jest dobry projekt umożliwiający wsteczną zgodność plików między różnymi wersjami oprogramowania?
Jaki jest dobry projekt umożliwiający wsteczną zgodność typu pliku między różnymi wersjami oprogramowania? Na przykład, w jaki sposób Microsoft uzyskuje słowo 2007, 2010 i 2013 itd. ... do wszystkich otwartych plików docx, ale różne wersje mogą zapisywać więcej / mniej danych i zapisywać dane w nieco inny sposób, wszystkie w …

3
Czy DAO powinno być singlem czy nie?
Tworzę API RESTful i myślę, że wygodnie jest używać DAO dla moich zasobów, ponieważ chociaż planuję po prostu używać pamięci do ich przechowywania, nie chcę zamykać drzwi przed kimkolwiek, kto korzysta z mojej biblioteki, jeśli zdecydują się użyć implementacja bazy danych dla DAO. Moje pytanie brzmi, czy DAO powinno być …


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.