Article View: pl.comp.lang.java
Article #154199Re: Jak dobrze zaprojektować aplikację?
From: Piotr Rezmer
Date: Fri, 10 Jul 2015 09:15
Date: Fri, 10 Jul 2015 09:15
53 lines
2632 bytes
2632 bytes
W dniu 2015-07-10 o 09:19, Borneq pisze:
> Muszę jeszcze doczytać o klasach entity i boundary. Na razie znalazłem
> http://zofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/OBPROG/io3.doc
Entity:
- jej rolą jest przechowywanie danych
- nie definiujemy w niej metod (pomijając gettery i settery)
np.
Public class User {
private String login;
private String firstName;
private String lastname;
public String GetLastName() {
return lastName;
}
public String GetFirstName() {
return firstName;
}
}
Boundary:
-rolą jest przyjęcie danych (np. formularze danych) lub wysłanie danych.
Oprócz tego jest jeszcze kilka prostych zasad dotyczących tworzenia
architektury aplikacji. W momencie gdy zdefiniujesz już nazwy i role
klas, umieszczasz je w odpowiednich warstwach, licząc od góry:
warstwa aplikacji - zawiera klasy specyficzne dla konkretnej aplikacji,
zakładasz że te klasy nie będą używane w innych aplikacjach
warstwa obiektów biznesowych - zawiera klasy związane np. z logiką
biznesową. Klasy z tej warstwy mogą się pojawić w przyszłości w innych
aplikacjach. W tej warstwie pojawią się najprawdopodobniej klasy typu
Entity.
warstwa usług - klasy które zapewniają np. odczyt/zapis pliku,
komunikację z innymi systemami. Te klasy nie realizują żadnej logiki,
Tutaj możemy umieścić np. część klas komunikacyjnych Boundary.
Klasy powinny być zaprojektowane tak by komunikowały się jedynie z
sąsiednimi warstwami. Zależności powinny być tylko w jednym kierunku (z
góry na dół).
--
pozdrawiam
Piotr
XLR250&bmw_f650_dakar
Technical Details
Message-ID:
<mno2f8$3e3$1@node1.news.atman.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mailReferences:
<mnnq5r$1vp$1@node2.news.atman.pl> <mnnqp7$r8r$1@node1.news.atman.pl> <mnnrmm$s8v$1@node1.news.atman.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mail From: Piotr Rezmer <konta@doman.pl> Newsgroups: pl.comp.lang.java Subject: Re: Jak dobrze zaprojektować aplikację? Date: Fri, 10 Jul 2015 11:15:20 +0200 Organization: ATMAN - ATM S.A. Lines: 53 Message-ID: <mno2f8$3e3$1@node1.news.atman.pl> References: <mnnq5r$1vp$1@node2.news.atman.pl> <mnnqp7$r8r$1@node1.news.atman.pl> <mnnrmm$s8v$1@node1.news.atman.pl> NNTP-Posting-Host: apn-46-76-19-178.dynamic.gprs.plus.pl Mime-Version: 1.0 X-Trace: node1.news.atman.pl 1436519720 3523 46.76.19.178 (10 Jul 2015 09:15:20 GMT) X-Complaints-To: usenet@atman.pl NNTP-Posting-Date: Fri, 10 Jul 2015 09:15:20 +0000 (UTC) User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 In-Reply-To: <mnnrmm$s8v$1@node1.news.atman.pl> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit