Vita válaszoljon andreycha elkezdené MVP WinForms

@ Pandakun lovagolni, de személy szerint én kifejezetten át ezt a paramétert, ha hívja a műsorvezető. Általában van ott egy zagyvalék: Esemény CellChanged bemutatásához felület és iratkozz fel rá a műsorvezető nem kell. Ehelyett hozzá a műsorvezető SavePlavka () metódust, amely paramétereket adnak át a jelenlegi rekord (selectPlavka).

@andreycha „a MVVM modell az adatok is, <.> nélkül az üzleti logika. „- idézet a leírása” a MVVM elválasztására használják a modell és reprezentációja <.> fejlesztő határozza meg a logikát az adatok, és a tervező, illetve együttműködik a felhasználói felület. „- vagyis a modell tartalmazza az üzleti logikát.

@Stack talán túlzásba vitte azt a „üzleti logika” kifejezés. Úgy értem, hogy a műsorvezető, és csavarja modell működik kész adatokat, és az adatok bemutatása a logikát, érvényesítési és egyéb dolgok, amelyek szorosan kapcsolódnak a felületen. De kész adatok (modell) jellemzően táplált (és menjen vissza) egy réteg, amely egy valós üzleti logika. Tehát ebben az értelemben, igen, a modell tartalmazza az üzleti logikát.

@andreycha „Talán túlzásba vitte azt az” üzleti logika „” - igen UI lehet logika, mint például a csoport radiobutton'ov - az egyik be van kapcsolva, a másik le. Az üzleti logika - a logikája az alkalmazás / rendszer, feloldjuk a fajta / osztályok, stb Valószínűleg a különböző logikai valamilyen módon le kell tükröződnie a válasz, hogy a félreértések elkerülése végett.

@andreycha Sajnos beszélgetni nem válaszol, kénytelen vagyok továbbra is írásban kérdéseket itt. Vissza a kérdést a Rend []. mert ÉN használ Entity Framework és a megközelítés Code First. Az én esetemben, van egy sor olyan osztályok, amelyek leírják a szerkezet az asztalra. Ezek az osztályok használom a felhasználó ezt a séta között megtekintése<->Presente-> Modell. De miért vegyem ezen osztályok között? Ez is része a modell, vagy talán még többet Dal?

@andreycha Visszatérve az esemény modell. Végtére is, aki nem szereti modellek tudni, hogy ez megváltozott. Hogy ki vagy törölt adatok. Tehát, ha nem lenne logikus, hogy a modell azt jelentette, hogy nem volt változás, és minden kit érdekel - vezérlők, például jegyezte volna, hogy ezek az események, és hatására a formák megfelelő módszereket újrarajzoláskor (update) az adatokat?

@andreycha Számít, pontosan a prezentációs kell kapnia az adatokat modell? Például, a modell egy Select módszerrel. Ahhoz, hogy az adatokat a műsorvezetője a modell hívja a módszer Select. És ez a módszer, hogy az adatokat az előadó? Miután egy retrun vagy hívja módszer lehet Presenter - általában egy kérdés?

@MikhailDanshin adatok révén visszakerül vissza. Modell ideális semmit sem tud a műsorvezető.

@MikhailDanshin a frissítések - nem lehet ennyire. Bár a praxisomban még nem volt, hogy végre események a modellt.

@MikhailDanshin a rendet - az a gondolat, egy tárgy DAL'a. De Presenter - részben a modell, mert a szokásos módon bemutató személy nem tud semmit a külvilággal. De ez nem elvi kérdés. Ön is tárgyak, amelyek csak a használt kijelző és át a bemutatót. Például Rendeljen nehéz tárgyat, amelyből meg kell mutatni egy pár területeken. Akkor mapit hogy valamilyen OrderLight, akik adnak a bemutatót. De ez az összes lehetőséget.

@andreycha visszautazás visszatérés után. Ne nézz ide a vita ru.stackoverflow.com/q/477689/194602. Ott írtam le a visszatérési érték a problémát, és még nem kapott választ.

@andreycha Meg tudja magyarázni, miért ismét a műsorvezető ezen a vonalon privát readonly IOrdersModel modell. Nem kell rögzíteni a műsorvezető és modell, ha még mindig együtt kell dolgozniuk, és ezáltal felszabadítsa a modell és a teljesítmény?

@MikhailDanshin teszt: hogy képes helyettesíteni a sapkáját a teszteket.

@andreycha tudná feltárni a kifejezés jelentését „továbbítják a bemutató már létrehozott műsorvezető”. Általában visszatérő beszélni „felszabadítása egy ötlet, és a modell” megy egy ördögi kör. Az egyik végrehajtása céljából MVP minta célja, hogy megkönnyítse az automatizált egység tesztelése. De kiderül, ha én végrehajtási MVP (Passzív View) az összes szabályt, nem tudom elérni a megkönnyítése céljából tesztelés.

@MikhailDanshin 1) Valahogy: var prezentációs = új MyPresenter (új MyModel ()); var form = új myForm (prezentációs); 2) Miért nem éri, hogy megkönnyítse tesztelés? A cél -, hogy teszteljék a logikája a képernyőn, nem kötődik a felületen. A logika kerül át a műsorvezető - Presenter teszteltük. Egyértelmű, hogy a tisztán UI'nyh hibákat, ez nem menti fel.