Pytania otagowane jako design

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

1
Czy pakowanie kodu strony trzeciej jest jedynym rozwiązaniem do testowania jednostkowego konsumentów?
Robię testy jednostkowe i na jednej z moich klas muszę wysłać wiadomość e-mail z jednej z metod, więc za pomocą wstrzykiwania konstruktora wstrzykuję instancję Zend_Mailklasy, która jest w środowisku Zend. Teraz niektórzy twierdzą, że jeśli biblioteka jest wystarczająco stabilna i nie zmienia się często, nie trzeba jej owijać. Zakładając, że …


4
Wizualnie i słyszalnie jednoznaczny podzbiór alfabetu łacińskiego?
Wyobraź sobie, że dajesz komuś kartę z kodem „5SBDO0”. W niektórych czcionkach trudno jest wizualnie odróżnić literę „S” od cyfry pięć (jak w przypadku cyfry zero i litery „O”). Czytając kod na głos, odróżnienie „B” od „D” może być trudne, wymagając wymówienia „B jak u chłopca”, „D jak u psa” …
13 design 

8
Zasada jednej odpowiedzialności - czy ja ją nadużywam?
W celach informacyjnych - http://en.wikipedia.org/wiki/Single_responsibility_principle Mam scenariusz testowy, w którym w jednym module aplikacji jest odpowiedzialny za tworzenie wpisów księgi. Istnieją trzy podstawowe zadania, które można wykonać - Przeglądaj istniejące wpisy księgi w formacie tabeli. Utwórz nowy wpis do księgi za pomocą przycisku Utwórz. Kliknij pozycję księgi w tabeli (wspomnianą …

7
Czy dokument projektowy powinien zawierać omówienie zalet / wad danego projektu, czy powinien koncentrować się na faktach i uzasadnieniu?
Obecnie jestem w trakcie aktualizacji dokumentu projektowego, aby był poprawny i aktualny dla przyszłych programistów. Obecnie dokument koncentruje się tylko na faktach, przedstawiając projekt. Nie ma uzasadnienia dla jakichkolwiek przedstawionych decyzji. Uważam, że ważne jest uchwycenie uzasadnienia, aby programiści wiedzieli, dlaczego coś takiego jest, ponieważ prawdopodobnie wpłynie to na przyszłe …

3
Stosowanie zasad SOLID
Jestem całkiem nowy w zasadach projektowania SOLID . Rozumiem ich przyczynę i korzyści, ale jednak nie stosuję ich do mniejszego projektu, który chciałbym zreformować jako praktyczne ćwiczenie z wykorzystaniem zasad SOLID. Wiem, że nie ma potrzeby zmiany aplikacji, która działa idealnie, ale i tak chcę ją zrefaktoryzować, aby zyskać doświadczenie …

4
Czy obsługa wyjątków ma charakter przekrojowy?
Nie widzę dużej różnicy między obawami związanymi z obsługą wyjątków i logowaniem, że oba są problemami przekrojowymi. Co myślisz? Czy nie powinien być traktowany osobno, zamiast przeplatać się z podstawową logiką, którą implementuje metoda? EDYCJA : Próbuję powiedzieć, że moim zdaniem implementacja metody powinna zawierać tylko logikę udanej ścieżki wykonania, …

3
Czy poleganie na sparametryzowanych zapytaniach jest jedynym sposobem ochrony przed wstrzyknięciem SQL?
Wszystko, co widziałem w przypadku ataków typu SQL injection, wydaje się sugerować, że sparametryzowane zapytania, szczególnie w procedurach przechowywanych, są jedynym sposobem ochrony przed takimi atakami. Podczas pracy (w średniowieczu) procedury składowane były postrzegane jako kiepska praktyka, głównie dlatego, że były postrzegane jako mniej konserwowalne; mniej testowalne; wysoce sprzężony; i …

7
Podejście programistyczne: interfejs użytkownika czy model domeny?
Chociaż nigdy nie dostarczałem niczego za pomocą Smalltalk, mój krótki czas na zabawie z nim zdecydowanie pozostawił swoje piętno. Jedynym sposobem na opisanie tego doświadczenia jest MVC tak, jak powinno być. Zasadniczo wszystkie ciężkie podnoszenie aplikacji odbywa się w obiektach biznesowych (lub modelu domeny, jeśli masz na to ochotę). Standardowe …

5
Co się stało z ujednoliconym modelem plików Alana Coopera?
Przez długi czas Alan Cooper (w 3 wersjach swojej książki „About Face”) promował „ujednolicony model plików”, aby między innymi zrezygnować z tego, co nazywa najbardziej idiotycznym oknem wiadomości, jakie kiedykolwiek wymyślono - tym wyskakuje po naciśnięciu przycisku zamykania w aplikacji lub formularzu z komunikatem „Czy chcesz odrzucić zmiany?” Podoba mi …

4
Czy wzór „centrum powiadomień” zachęca do dobrego lub złego zaprojektowania programu?
Czasami spotykam te interfejsy API w stylu koncentratora komunikatów, na przykład Cocoa NSNotificationCenter: http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSNotificationCenter_Class/Reference/Reference.html Zwykle te interfejsy API zapewniają globalny punkt dostępu, w którym subskrybujesz lub emitujesz wiadomości / zdarzenia. Myślę, że jest to problem, ponieważ zachęca do płaskiej i nieustrukturyzowanej architektury programu, w której zależności nie są jawne w …

1
Jaką procedurę stosuje się podczas pisania leksykonu opartego na gramatyce?
Podczas czytania odpowiedzi na pytanie Wyjaśnienie dotyczące gramatyk, leksyk i parserów odpowiedź brzmiała: [...] gramatyka BNF zawiera wszystkie reguły potrzebne do analizy leksykalnej i analizy. Wydawało mi się to nieco dziwne, ponieważ do tej pory zawsze myślałem, że leksyk nie jest w ogóle oparty na gramatyce, podczas gdy parser był …

4
Czy są zalety kodowania wartości danych w programie na stałe?
Jestem samoukiem, początkującym programistą, więc przepraszam, jeśli nie przybijam żargonu programisty. Pracuję nad projektem, w którym dostarczam dane, które będą stale aktualizowane, dla programistów, którzy zasadniczo utworzą narzędzie do generowania raportów z zapytań dotyczących danych. Wygląda na to, że wszyscy zaangażowani uważają, że muszą zakodować wartości danych (nie schemat, ale …

6
Jaki jest najprostszy format pliku konfiguracyjnego czytelnego dla człowieka? [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 5 lat temu . Aktualny plik konfiguracyjny wygląda następująco: mainwindow.title = 'test' mainwindow.position.x = 100 mainwindow.position.y = …


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.