Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Ukrywanie metod modelu przed widokiem
coolos
post
Post #1





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 15.04.2009

Ostrzeżenie: (0%)
-----


Witam,

mam pytanie w jaki sposób ukryć metody modelu przed widokiem? Chciałbym aby z poziomu akcji możliwe było wywołanie:

  1. $news->add_news($id);


lecz żeby niemozliwe było to w widoku. Chciałbym aby widok, pobierał dane tylko z getterów.

Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Crozin
post
Post #2





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Cytat
[...] Z tym że ostatnio naczytałem się że ogólnie takie podejście nie jest ok, jeżeli chodzi o programowanie obiektowe i szukam innego sposobu.
Jakieś źródło tych "rewelacji"? Czy może dokładniej - co jest z tym nie tak.
Go to the top of the page
+Quote Post
coolos
post
Post #3





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 15.04.2009

Ostrzeżenie: (0%)
-----


Cytat(Crozin @ 13.06.2012, 17:41:02 ) *
Jakieś źródło tych "rewelacji"? Czy może dokładniej - co jest z tym nie tak.


Podam kilka źródeł wraz z cytowaniem:

artykuł 1

Cytat
Normalnie klasy mapujące tabele w bazie i wykonujące logikę to powinny być te same klasy, niestety w J2EE wymyślono jakieś DAO i anemiczne encje, które służą tylko jako worki na kartofle, ups... dane, a nie posiadają żadnych odpowiedzialności i logiki, stąd też często programiści J2EE mają problemy ze zrozumieniem literki M skrótu MVC.



artykuł 2

Cytat
Jednym z najczęstszych powodów powstawania anemicznych modeli domenowych jest sposób projektowania aplikacji w oparciu o wcześniej stworzony schemat bazy danych. To prowadzi to do tego, że model domenowy powstaje w skutek mapowania tabel do klas posiadających odzwierciedlone kolumny w postaci właściwości. Jedynym wyzwaniem dla niektórych osób może być modelowanie relacji, które w przypadku bazy danych są kluczami obcymi, zaś w przypadku obiektowego modelu powinny być relacjami do innych obiektów. Nie brakuje oczywiście przykładów, gdzie relacje w modelu domenowym tworzone są również w oparciu o klucze obce, co całkowicie zaprzecza obiektowemu programowaniu


artykuł 3

Cytat
The basic symptom of an Anemic Domain Model is that at first blush it looks like the real thing. There are objects, many named after the nouns in the domain space, and these objects are connected with the rich relationships and structure that true domain models have. The catch comes when you look at the behavior, and you realize that there is hardly any behavior on these objects, making them little more than bags of getters and setters. Indeed often these models come with design rules that say that you are not to put any domain logic in the the domain objects. Instead there are a set of service objects which capture all the domain logic. These services live on top of the domain model and use the domain model for data.


Ten post edytował coolos 13.06.2012, 16:55:51
Go to the top of the page
+Quote Post

Posty w temacie
- coolos   Ukrywanie metod modelu przed widokiem   13.06.2012, 15:07:59
- - Crozin   Prawdopodobnie powinieneś mieć dwa różne obiekty, ...   13.06.2012, 15:17:43
|- - coolos   Cytat(Crozin @ 13.06.2012, 16:17:43 )...   13.06.2012, 15:22:19
- - Orzeszekk   uzyj smarty jako widoku albo jesli koniecznie chc...   13.06.2012, 15:57:41
|- - coolos   Cytat(Orzeszekk @ 13.06.2012, 16:57:4...   13.06.2012, 16:23:21
|- - Orzeszekk   Cytat(coolos @ 13.06.2012, 17:23:21 )...   13.06.2012, 18:13:25
- - Crozin   @coolos: Prawdę powiedziawszy ciężko tutaj powiedz...   13.06.2012, 16:01:42
- - Orzeszekk   to ze ograniczy mozliwosci umieszczania logiki w w...   13.06.2012, 16:07:52
- - Crozin   Cytat[...] Z tym że ostatnio naczytałem się że ogó...   13.06.2012, 16:41:02
|- - coolos   Cytat(Crozin @ 13.06.2012, 17:41:02 )...   13.06.2012, 16:54:19
- - Crozin   Wątek zejdzie nam tutaj nieco na inny temat (repre...   13.06.2012, 17:59:25
- - coolos   Cytat(Orzeszekk @ 13.06.2012, 19:13:2...   13.06.2012, 18:59:24
|- - Orzeszekk   Cytat(coolos @ 13.06.2012, 19:59:24 )...   13.06.2012, 21:29:54
|- - coolos   CytatOdkrywanie kwadratowego koła (ang. Reinventin...   13.06.2012, 21:47:53
- - Crozin   Przeczytałem ten artykuł (pomijając dwie ostatnie ...   13.06.2012, 19:41:35
- - Mephistofeles   Z takim podejściem każdy producent samochodów twor...   13.06.2012, 22:04:28
- - !*!   Mephistofeles - nie zaczynaj znowu.   13.06.2012, 22:05:57
- - Orzeszekk   Cytat(coolos @ 13.06.2012, 22:47:53 )...   13.06.2012, 22:46:01
- - irmidjusz   Cytat(coolos @ 13.06.2012, 16:07:59 )...   14.06.2012, 01:41:52
- - Orzeszekk   Cytat(irmidjusz @ 14.06.2012, 02:41:5...   14.06.2012, 14:51:50


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 7.10.2025 - 04:49