2016-09-21 40 views
5

Na monitorze wydajności I zostały wdrożone MVC w Javie i zdecydowali się podzielić moim modelu do oddzielnych klas, teraz jestem rozdarty pomiędzy sortowaniu jego atrybutów i funkcji w Client, Server i Connection klas modelu lub Benchmark, Logging i Specs Klasy modeli.Czy zajęcia powinny naśladować rzeczywistość lub mieć optymalną zgodność kodu?

Poprzednie modele pasowałyby do rzeczywistych odpowiedników jako "obiekty", ponieważ są to osobne jednostki, które aplikacja będzie monitorować. Z uwagi na to, jak MVC współpracuje z obserwatorem, funkcja testu porównawczego z mojego kontrolera wyzwoli aktualizacje we wszystkich moich modelach.

Te ostatnie rozwiążą tę szeroko rozpowszechnioną aktualizację, sprawiając, że modele będą bardziej odpowiadać funkcjonalności (wymaganiom), a zatem tylko aktualizują modele, które wymagają aktualizacji, uruchamiając tylko aktualizacje widoku, które należy zmodyfikować. Myślę, że to podejście zmniejszy możliwość ponownego użycia mojego modelu.

+0

Prawdopodobnie będzie to pytanie dla [Programming Exchange Stack] (http://programmers.stackexchange.com/) – Tim

+0

@TimF Dlaczego? Widziałem pytania modelowania w tonach tutaj na SO. A to jest jeden. –

+1

@ThomasKilian Przewodnik po witrynie programisty wspomina o pytaniach dotyczących "wymagań, architektury i designu", ale może obie strony są w porządku z tego rodzaju pytaniem. – Tim

Odpowiedz

2

Zajęcia powinny dotykać rzeczywistości, ale jej nie osiągać. Gdybyś miał pozostać na absolutnym abstrakcyjnym poziomie, twój model nie byłby w stanie osiągnąć jakiejś realizacji. Podczas modelowania domeny zaczynasz od obiektów biznesowych, które są bezpośrednio związane z (fizycznymi) obiektami w rzeczywistości. Gdy zaczniesz projektować system, uzyskasz model klasy od modelu biznesowego, który jest jakoś połączony. Zwykle tworzysz zależności od projektu klasy systemu do odpowiednich obiektów biznesowych, a znajdziesz również nazwę-równoległą. Sprzężenie między biznesem a modelem projektu jest luźne (zależności), ale istnieje. Każdy obiekt biznesowy musi mieć pewne ślady w modelu projektowym. Prawdopodobnie będzie więcej klas w modelu projektowym niż w modelu biznesowym.

+0

Użyłem bezpośrednio mojej domeny (biznes) jako mój model klasy, ale dodał funkcje i atrybuty. To może mieć sens, że inna kategoryzacja może lepiej pasować do diagramu klasowego, aby ustrukturyzować program, który ostatecznie się uruchomi, prawda? – Cakes

+0

Pewnie. To jest codzienny chleb modelarza. –