Pytania otagowane jako design

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

2
najlepsze praktyki dotyczące funkcji fabryki w Pythonie
Załóżmy, że mam plik foo.pyzawierający klasę Foo: class Foo(object): def __init__(self, data): ... Teraz chcę dodać funkcję, która tworzy Fooobiekt w określony sposób z surowych danych źródłowych. Czy powinienem umieścić go jako metodę statyczną w Foo, czy jako inną osobną funkcję? class Foo(object): def __init__(self, data): ... # option 1: …
30 design  python 

8
Front end pierwszy lub back end pierwszy. Z tych dwóch, które są dobrą praktyką projektowania systemu?
Mam teraz klienta, który wymaga ode mnie opracowania szkolnego systemu rekrutacji. Teraz po raz pierwszy mam tego rodzaju wyzwanie. Większość wcześniejszego oprogramowania, które stworzyłem, nie jest tak skomplikowane. Wiem, że większość z was stworzyła skomplikowane oprogramowanie, chcę tylko Waszej porady w tej sprawie. Czy powinienem zaprojektować najpierw przód czy tył? …

6
Zrozumienie „programowania do interfejsu”
Często spotykałem się z terminem „programowanie interfejsu zamiast implementacji” i myślę, że rozumiem, co to znaczy. Ale chcę się upewnić, że rozumiem, jakie są korzyści i możliwe wdrożenia. „Programowanie interfejsu” oznacza, że ​​tam, gdzie to możliwe, należy odwoływać się do bardziej abstrakcyjnego poziomu klasy (interfejs, klasa abstrakcyjna, a czasem do …

6
Czy można zaimplementować programowanie „obiektowe” bez słowa kluczowego class?
Powiedzmy, że chcemy przedstawić abstrakcję „konta” w banku. Oto jedno podejście, używając functionobiektu w Pythonie: def account(): """Return a dispatch dictionary representing a bank account. >>> a = account() >>> a['deposit'](100) 100 >>> a['withdraw'](90) 10 >>> a['withdraw'](90) 'Insufficient funds' >>> a['balance'] 10 """ def withdraw(amount): if amount > dispatch['balance']: return …


12
Jakie są problemy dewelopera z pomocnymi komunikatami o błędach? [Zamknięte]
To nadal zdumiewa mnie, że w dzisiejszych czasach, produkty które mają latach użytkowania na swoim koncie, zbudowany przez zespoły specjalistów, jeszcze do tej pory - nie zapewniają pomocne komunikaty o błędach dla użytkownika. W niektórych przypadkach dodanie tylko odrobiny dodatkowych informacji może zaoszczędzić użytkownikowi godzin kłopotów. Program, który generuje błąd, …

12
Jak duży jest ok dla klasy?
Jestem programistą od dawna (mam 49 lat), ale raczej nowością w programowaniu obiektowym. Czytałem o OO od czasu Eiffla Bertranda Meyera, ale zrobiłem naprawdę niewiele programowania OO. Chodzi o to, że każda książka na temat projektowania OO zaczyna się od przykładu łodzi, samochodu lub innego wspólnego obiektu, którego często używamy, …

3
Repozytoria DDD w aplikacji lub domenie
Obecnie studiuję DDD i mam pytania dotyczące zarządzania repozytoriami za pomocą DDD. Właściwie spotkałem dwie możliwości: Pierwszy Pierwszym sposobem zarządzania usługami, które przeczytałem, jest wstrzyknięcie repozytorium i modelu domeny do usługi aplikacji. W ten sposób, w jednej z metod usługi aplikacji, wywołujemy metodę usługi domeny (sprawdzanie reguł biznesowych), a jeśli …


6
Czy istnieje wzorzec projektowy, który eliminuje potrzebę sprawdzania flag?
Mam zamiar zapisać trochę ładunku ciągu w bazie danych. Mam dwie konfiguracje globalne: szyfrowanie kompresja Można je włączyć lub wyłączyć za pomocą konfiguracji w taki sposób, że tylko jedna z nich jest włączona, obie są włączone lub obie są wyłączone. Moja obecna implementacja to: if (encryptionEnable && !compressEnable) { encrypt(data); …

2
Czy istnieje nazwany anty wzór dla historycznie produkowanego oprogramowania? [Zamknięte]
Czy istnieje anty-wzorzec opisujący historycznie rozwijany system oprogramowania, w którym wielu programistów właśnie dodało nowe funkcje do systemu, ale nikt tak naprawdę nie pilnował ogólnej architektury ani nigdy nie przeprowadzono refaktoryzacji? Wydaje mi się, że dzieje się tak, gdy zarząd / klient ciągle prosi o nową funkcję i nikt nigdy …



10
Proste vs złożone (ale wydajne) rozwiązanie - który wybrać i kiedy?
Programuję od kilku lat i często znalazłem się w dylemacie. Istnieją dwa rozwiązania - jeden jest prosty, tzn. proste podejście, łatwiejsze do zrozumienia i utrzymania. Wymaga pewnej redundancji, dodatkowej pracy (dodatkowe IO, dodatkowe przetwarzanie) i dlatego nie jest najbardziej optymalnym rozwiązaniem. ale inne wykorzystują złożone podejście, trudne do wdrożenia, często …

6
Obiektowa „normalizacja”
W programowaniu baz danych istnieje technika zwana „normalizacją”, którą wykonujesz w stosunku do danych, które chcesz przechowywać. Czy ktoś próbował zastosować tę koncepcję do projektowania obiektów? Jak się masz Jak ci poszło? Edycja: W celu rozszerzenia / wyjaśnienia normalizacja bazy danych jest czymś więcej niż zbiorem zasad ograniczających nadmiarowość. W …
28 design 

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.