Article View: pl.comp.lang.delphi
Article #346108Re: Delphi XE2 FM MVC
From: J-23
Date: Sun, 01 Oct 2017 14:24
Date: Sun, 01 Oct 2017 14:24
62 lines
3780 bytes
3780 bytes
W dniu 28.09.2017 o 11:51, konsul41@wp.pl pisze: > Interesuje mnie jak w Delphi wykonuje się MVC > Wszystko zależy co potrzebujesz. Gotowego Fremworka bazującego na MVC ci nie podsune w Delphi ale powiem swoje spostrzeżenia nt MVC Teoria mówi by wszystkie trzy elementy były ze sobą luzno powiązane - znaczy to tyle że w teorii każdy z tych elementów powinien być wymienny To napewno znasz - ale teraz musisz zdać sobie sprawę co ci tak naprawdę jest potrzebne - gdzie zaczyna się tak naprawdę Model - Widok - Kontroler > > > Mam model który ma takie właściwości i jest fakturą. > > property dok_id: Integer read Getdok_id write Setdok_id; > property OkresKsiegowy: TOKres read GetOkresKsiegowy write > SetOkresKsiegowy; > property NazwaDziennika: string read GetNazwaDziennika write > SetNazwaDziennika; > property NumerDziennika: Integer read GetNumerDziennika write > SetNumerDziennika; > property NumerDokumentu: string read GetNumerDokumentu write > SetNumerDokumentu; > property DataRej: TDate read GetDataRej write SetDataRej; > property DataDok: TDate read GetDataDok write SetDataDok; > property DataPodatkowa: TDate read GetDataPodatkowa write > SetDataPodatkowa; > > Jak teraz do niego dorobić pozostałe dwie części > Kontroler i Widok. > Bazując na podanej klasie sprawa jest prosta w kontroler wsadzasz wszystkie operacje jakie możesz wykonać na tej fakturze i tyle Ja jak pisałem jeszcze w Delphi stworzyłem sobie komponent do Faktur gdzie opierał on się o MVC tylko ja to miałem podzielone troszkę wyżej nuż ty tutaj próbujesz zrobić u mnie modelem było wszystko to co było związane z bazą danych - kontroler był też dość rozbudowany bo posiadał i zarządzanie bazą (wszystkie operacje wykonywane na bazie itp nawet formatki niektóre tak by łatwo wymieniać pewną funkcjonalności) a jako widok obrałem sobie poszczególne wzory faktur. Z tego co napisałem wyżej były jeszcze wydzielone pakiety odpowiedzialne m,in za działanie na poszczególnych silnikach bazodanowych Podsumowując nie traktuj MVC jako 1:1 czyli jedna klasa to pojedynczy element problemu. Głownym zadaniem MVC jest podzielenie tego na odpowiednie elementy możesz oczywiście podchodzić tak ze jedna klasa jedna czynność z MVC ale wtedy się łatwo po gubić We wspomnianym komponencie do fakturowania miałem w ten sposób łatwą możliwość wymiany wzorów dokumentów oraz silników baz danych wszystko sprowadzało się do tego że kładłem wybrane elementy na formę. Bez skrobania jakiegokolwiek kodu Pozdrawiam
Technical Details
Message-ID:
<59d0fa8b$0$653$65785112@news.neostrada.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!peer01.am4!peer.am4.highwinds-media.com!peer03.fr7!futter-mich.highwinds-media.com!news.highwinds-media.com!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!unt-spo-b-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mailReferences:
<oqigml$b4t$1@portraits.wsisiz.edu.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!peer01.am4!peer.am4.highwinds-media.com!peer03.fr7!futter-mich.highwinds-media.com!news.highwinds-media.com!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!unt-spo-b-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail Subject: Re: Delphi XE2 FM MVC Newsgroups: pl.comp.lang.delphi References: <oqigml$b4t$1@portraits.wsisiz.edu.pl> From: J-23 <Baczeklu@poczta.fm> Date: Sun, 1 Oct 2017 16:24:11 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0 MIME-Version: 1.0 In-Reply-To: <oqigml$b4t$1@portraits.wsisiz.edu.pl> Lines: 63 Message-ID: <59d0fa8b$0$653$65785112@news.neostrada.pl> Organization: Telekomunikacja Polska NNTP-Posting-Host: 188.146.98.8 X-Trace: 1506867851 unt-rea-b-01.news.neostrada.pl 653 188.146.98.8:2699 X-Complaints-To: abuse@news.neostrada.pl X-Received-Body-CRC: 3720986503 X-Received-Bytes: 3702 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit