Pytania oznaczone «design»

19
Dlaczego x = x ++ jest niezdefiniowany?

Jest niezdefiniowany, ponieważ modyfikuje xdwukrotnie między punktami sekwencji. Standard mówi, że jest niezdefiniowany, dlatego jest niezdefiniowany. Tyle wiem. Ale dlaczego? Rozumiem, że zabranianie tego pozwala kompilatorom na lepszą optymalizację. Mogło to mieć sens, gdy wynaleziono C, ale...

19
Jak stworzyć lepszy kod OO w aplikacji opartej na relacyjnej bazie danych, w której baza danych jest źle zaprojektowana

Piszę aplikację internetową Java, która składa się głównie z kilku podobnych stron, na których każda strona ma kilka tabel i filtr, który dotyczy tych tabel. Dane w tych tabelach pochodzą z bazy danych SQL. Używam myBatis jako ORM, co może nie być najlepszym wyborem w moim przypadku, ponieważ baza...

19
Jaka jest korzyść z włączenia ciągów w Javie 7?

Kiedy zaczynałem programować w Javie, frustrowało mnie to, że instrukcje switch nie miały ciągów. Następnie, korzystając z Enums, zdałem sobie sprawę z korzyści, jakie z nich czerpiesz, zamiast przekazywać surowe wartości - bezpieczeństwo typu (co ułatwia refaktoryzację) oraz przejrzystość dla...

19
Dlaczego (/ czy) Bertrand Meyer uważa, że ​​podklasa jest jedynym sposobem na rozszerzenie „zamkniętego” modułu?

W Meyer Object-Oriented Software Construction (1988) definiuje zasadę otwartego / zamkniętego w następujący sposób: Mówi się, że moduł jest otwarty, jeśli jest nadal dostępny do rozszerzenia. Na przykład powinna istnieć możliwość dodawania pól do zawartych w nim struktur danych lub nowych...

19
Kiedy lepiej jest zoptymalizować oprogramowanie w celu uzyskania lepszej wydajności, na początku lub na końcu rozwoju?

Jestem młodszym programistą i zastanawiałem się, kiedy najlepiej zoptymalizować oprogramowanie w celu uzyskania lepszej wydajności (szybkości). Zakładając, że oprogramowanie nie jest zbyt duże i skomplikowane w zarządzaniu, czy lepiej poświęcić więcej czasu na jego optymalizację na początku, czy...

18
Czy niezmienne obiekty i DDD idą w parze?

Rozważ system, który używa DDD (a także: każdy system, który używa ORM). Realistycznym celem każdego systemu, w prawie każdym przypadku użycia, będzie manipulowanie tymi obiektami domeny. W przeciwnym razie nie będzie prawdziwego efektu ani celu. Modyfikacja niezmiennego obiektu spowoduje, że...

18
Abstrakcja bazy danych - czy jest przesadzana?

Po zetknięciu się z licznymi warstwami abstrakcji bazy danych zaczynam się zastanawiać, o co chodzi w tym, że każda biblioteka wymyśla swój własny paradygmat dostępu do danych. Odbieranie nowego DAL przypomina uczenie się nowego języka od nowa, kiedy zwykle wszystko, co chcę zrobić, to po prostu...