Pytania otagowane jako design

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

5
Najlepsza strategia raportowania postępu do interfejsu użytkownika - jak powinno nastąpić oddzwanianie?
Czasami użytkownik rozpoczyna rozszerzoną operację techniczną, której wykonanie zajmuje trochę czasu. W takich przypadkach zazwyczaj miło jest wyświetlić pasek postępu wraz z informacją o tym, które zadanie jest aktualnie wykonywane. Aby uniknąć ścisłego powiązania interfejsu użytkownika i warstw logicznych, zwykle najlepiej jest, aby komunikacja odbywała się za pośrednictwem pewnego rodzaju …

2
Klasy Python z tylko jedną instancją: Kiedy utworzyć (pojedynczą) instancję klasy, a kiedy zamiast tego pracować z klasą?
Biorąc pod uwagę klasę Python, która zostanie utworzona tylko raz, tzn. Będzie tylko jeden obiekt klasy. Zastanawiałem się, w jakich przypadkach sensowne jest utworzenie instancji pojedynczej klasy zamiast pracy bezpośrednio z klasą. Jest podobne pytanie , ale koncentruje się na innym: chodzi o grupowanie zmiennych globalnych i funkcji w klasę …


5
Czy zawsze powinienem całkowicie zawierać wewnętrzną strukturę danych?
Proszę rozważyć tę klasę: class ClassA{ private Thing[] things; // stores data // stuff omitted public Thing[] getThings(){ return things; } } Ta klasa udostępnia tablicę, której używa do przechowywania danych, każdemu zainteresowanemu kodowi klienta. Zrobiłem to w aplikacji, nad którą pracuję. Miałem ChordProgressionklasę, która przechowuje sekwencję Chords (i robi …

6
Jakie zmiany są zbyt duże, aby ułatwić ich prawidłowe zaprojektowanie?
To dość niejasne pytanie, ale na pytanie, na które nigdy nie czułem, odpowiedziano w zadowalający sposób, czytając o właściwym projekcie. Zasadniczo, gdy dowiadujesz się o programowaniu obiektowym, abstrakcji, faktorowaniu itp., Święty graal projektowania - i powód, dla którego zawsze twierdzą, że używasz danych technik programistycznych - jest taki, że twój …

5
Czy powinienem używać metod abstrakcyjnych czy wirtualnych?
Jeśli założymy, że nie jest pożądane, aby klasa podstawowa była czystą klasą interfejsu i przy użyciu 2 poniższych przykładów, co jest lepszym podejściem przy użyciu abstrakcyjnej lub wirtualnej definicji klasy metody? Zaletą „abstrakcyjnej” wersji jest to, że prawdopodobnie wygląda ona na czystszą i zmusza klasę pochodną do podania, miejmy nadzieję, …
11 c#  design 

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 …

3
Używanie obiektów biznesowych w modelach widoku
Kiedy używa się obiektów biznesowych wielokrotnego użytku, co uważa się za najlepszą praktykę przy budowaniu modeli widoków? Używamy obiektu, który nazywamy, Builderdo budowy naszych modeli widoków. Jeden konstruktor dla każdej logicznej jednostki widoków (zamówienia, użytkownicy itp.), Przy czym każda jednostka może zawierać wiele różnych modeli widoków (zamówienia zawierają podsumowanie, wiersze …


4
Termin „interfejs” w C ++
Java wyraźnie rozróżnia między classi interface. (Wierzę, że C # też, ale nie mam z tym doświadczenia). Jednak podczas pisania C ++ nie ma wymuszonego rozróżnienia między klasą a interfejsem. W związku z tym zawsze postrzegałem interfejs jako obejście braku wielokrotnego dziedziczenia w Javie. Dokonanie takiego rozróżnienia jest w C …


3
Programowanie funkcjonalne dla uproszczonej gry z wykorzystaniem Scali i LWJGL
Ja, bezwzględny programista Java, chciałbym zrozumieć, jak wygenerować prostą wersję Space Invaders w oparciu o zasady projektowania programowania funkcjonalnego (w szczególności przezroczystość referencyjną). Jednak za każdym razem, gdy próbuję wymyślić jakiś projekt, gubię się w bagnie ekstremalnej zmienności, tej samej zmienności, której unika funkcjonalny programista. Próbując nauczyć się programowania funkcjonalnego, …

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. …


1
Rysowanie interakcji wątku
Chciałbym narysować interakcję wątków (długopisem i ołówkiem) w notacji UML (podobnej). Nie nalegam na UML, wszystko, co czytelnik powinien zrobić. Zacząłem od schematów sekwencji, ale nie sądzę, że jest to najlepszy sposób, aby to zrobić. Przez cały czas pojawiały się „inicjatory akcji” spoza ekranu, które jakby łamały pomysł SSD. Odziedziczyłem …

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.