Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #26328
| Path | csiph.com!usenet.pasdenom.info!weretis.net!feeder1.news.weretis.net!feeder.erje.net!eu.feeder.erje.net!feeder2.ecngs.de!ecngs!feeder.ecngs.de!Xl.tags.giganews.com!border1.nntp.ams.giganews.com!nntp.giganews.com!local2.nntp.ams.giganews.com!nntp.bt.com!news.bt.com.POSTED!not-for-mail |
|---|---|
| NNTP-Posting-Date | Wed, 16 Oct 2013 05:49:48 -0500 |
| Date | Wed, 16 Oct 2013 11:49:46 +0100 |
| From | lipska the kat <"nospam at neversurrender dot co dot uk"> |
| Organization | Trollbusters 3 |
| User-Agent | Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130308 Thunderbird/17.0.4 |
| MIME-Version | 1.0 |
| Newsgroups | comp.lang.java.programmer |
| Subject | Re: Java EE Architecture |
| References | <69e1528a-aa62-41ce-88e5-1540f437e89e@googlegroups.com> <qMCdnd-cQ4RiAcvPnZ2dnUVZ7tudnZ2d@bt.com> <l3ljnp$i9c$1@shakotay.alphanet.ch> |
| In-Reply-To | <l3ljnp$i9c$1@shakotay.alphanet.ch> |
| Content-Type | text/plain; charset=ISO-8859-1; format=flowed |
| Content-Transfer-Encoding | 8bit |
| Message-ID | <Qsydne-OrL7R8sPPnZ2dnUVZ7sidnZ2d@bt.com> (permalink) |
| Lines | 88 |
| X-Usenet-Provider | http://www.giganews.com |
| X-AuthenticatedUsername | NoAuthUser |
| X-Trace | sv3-95tvSrr/ZMLSXJrArZYrmnLCvgOGNaSqUF3eMdy5WCu+yxaNd9gxS+3ggpcv+BUO3D1hBEftZOPTuoT!81PcfjQXkbxR7qkrQVgtuj4VZa408NrtIr/VADB9J/t1/juonlojHh6sbmXFipaIYXp0M3NBifiO |
| X-Complaints-To | abuse@btinternet.com |
| X-DMCA-Complaints-To | abuse@btinternet.com |
| X-Abuse-and-DMCA-Info | Please be sure to forward a copy of ALL headers |
| X-Abuse-and-DMCA-Info | Otherwise we will be unable to process your complaint properly |
| X-Postfilter | 1.3.40 |
| X-Original-Bytes | 4692 |
| Xref | csiph.com comp.lang.java.programmer:26328 |
Show key headers only | View raw
On 16/10/13 09:45, 1connu wrote:
> lipska the kat a écrit :
>> On 09/10/13 21:41, art.marole@gmail.com wrote:
>>> Hi all,
>>>
>>> I would like to prepare typical Java EE solution (EJB, JSF, JPA) now,
>>> and I have quite stupid problem related with domain objects. I want
>>> to create Person class as persistence class, but I don't know in
>>> which module I shoud put this class: Business Layer (ejb module) or
>>> in Integration Layer (jar module).
>>>
>>> Person class is more related with logic, so I should put it in ejb
>>> module, but in this case I will need to create dependency relation
>>> from Integration Layer to Business Layer as Integration Layer need to
>>> know what object should store in DB (ex. void store(Person object){};).
>>> Put Person class in Integration Layer will remove this unwanted
>>> dependency, but I feel that Person class is more Business class then
>>> Integration class.
>>>
>>> What do you think about it?
>>
>>
>> A Person class ... A PERSON class., please, please, *please* don't
>> have a Person class
>>
>> For the sake of whatever omnipotent deity you pray to, do not have a
>> Person class
>>
>> *People* do not belong in a computer system.
>>
>> Why?
>>
>> Because it's a poor abstraction.
>>
>> How are you going to model consciousness, sentience, the 'mind', the
>> 'soul'? let alone arms legs, eyes and teeth :-)
>>
>> You *do not need* a Person class.
>>
>> Let's put it another way
>>
>> The very fact that you are having problems deciding where your Person
>> belongs should alert you to the fact that it is a poor abstraction.
>>
>> Try Account, or Record, or if you absolutely *must* User but not
>> Person, you will end up regretting it.
>>
>> lipska
>>
>>
> Why not ?
> You can have an abstract class Person with minimum field (name, date
> birth) and sub class depending of role of theses persons (ex User
> (login/password) ) in your model.
Well let's see.
A User is not a subclass of Person really is it?
A User uses the system, at the very least a user can be a human being or
another computer so if you want to go down that road then User should be
your base class. A User has credentials, whatever they may be.
Given the above, what does a Person class give you that (say) Account
doesn't ... A User *has an* Account.
User says what it is, a User. It certainly *doesn't* imply that the User
is a Person. (see above)
Account says what it is, a record of a Users interaction with the system
for example.
When we think about a system, certainly when we are starting to design
it, we need to use words that help us to partition the system into
meaningful abstractions. User, Account, Session, Address etc etc.
Introducing Person into the model clouds our thinking. A Person is not a
cohesive abstraction of some part of a system. It is a word we use to
describe the other similar sentient entities we encounter in our version
of reality. The word Person comes with a whole load of built in baggage
that does nothing to assist us in deciding on the components of our system.
That is why the class Person is not a good abstraction and doesn't
belong in our model.
--
Lipska the Kat©: Troll hunter, sandbox destroyer
and farscape dreamer of Aeryn Sun
GNU/Linux user #560883 - http://www.linuxcounter.net
Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Java EE Architecture art.marole@gmail.com - 2013-10-09 13:41 -0700
Re: Java EE Architecture Lew <lewbloch@gmail.com> - 2013-10-09 14:45 -0700
Re: Java EE Architecture Arne Vajhøj <arne@vajhoej.dk> - 2013-10-09 22:00 -0400
Re: Java EE Architecture Arne Vajhøj <arne@vajhoej.dk> - 2013-10-09 22:18 -0400
Re: Java EE Architecture art.marole@gmail.com - 2013-10-10 00:47 -0700
Re: Java EE Architecture Arne Vajhøj <arne@vajhoej.dk> - 2013-10-16 20:37 -0400
Re: Java EE Architecture lipska the kat <"nospam at neversurrender dot co dot uk"> - 2013-10-10 13:26 +0100
Re: Java EE Architecture 1connu <1connu999@gmail.com> - 2013-10-16 10:45 +0200
Re: Java EE Architecture Donkey Hottie <donkey@fredriksson.dy.fi> - 2013-10-16 13:42 +0300
Re: Java EE Architecture lipska the kat <"nospam at neversurrender dot co dot uk"> - 2013-10-16 11:55 +0100
Re: Java EE Architecture Donkey Hottie <donkey@fredriksson.dy.fi> - 2013-10-16 14:18 +0300
Re: Java EE Architecture Donkey Hottie <donkey@fredriksson.dy.fi> - 2013-10-16 14:25 +0300
Re: Java EE Architecture lipska the kat <"nospam at neversurrender dot co dot uk"> - 2013-10-16 14:23 +0100
Re: Java EE Architecture Donkey Hottie <donkey@fredriksson.dy.fi> - 2013-10-16 17:10 +0300
Re: Java EE Architecture lipska the kat <"nospam at neversurrender dot co dot uk"> - 2013-10-16 16:44 +0100
Re: Java EE Architecture "L." <carisio@gmail.com> - 2013-10-16 10:15 -0700
Re: Java EE Architecture lipska the kat <"nospam at neversurrender dot co dot uk"> - 2013-10-16 19:01 +0100
Re: Java EE Architecture "L." <carisio@gmail.com> - 2013-10-16 12:17 -0700
Re: Java EE Architecture Martin Gregorie <martin@address-in-sig.invalid> - 2013-10-16 21:01 +0000
Re: Java EE Architecture Arne Vajhøj <arne@vajhoej.dk> - 2013-10-16 20:40 -0400
Re: Java EE Architecture Donkey Hottie <donkey@fredriksson.dy.fi> - 2013-10-17 00:00 +0300
Re: Java EE Architecture Wayne <nospam@all.invalid> - 2013-10-16 23:08 -0400
Re: Java EE Architecture Donkey Hottie <donkey@fredriksson.dy.fi> - 2013-10-19 17:05 +0300
Re: Java EE Architecture Lew <lewbloch@gmail.com> - 2013-10-19 14:48 -0700
Re: Java EE Architecture lipska the kat <"nospam at neversurrender dot co dot uk"> - 2013-10-20 09:00 +0100
Re: Java EE Architecture "Qu0ll" <Qu0llSixFour@gmail.com> - 2013-10-20 19:40 +1100
Re: Java EE Architecture lipska the kat <"nospam at neversurrender dot co dot uk"> - 2013-10-20 10:07 +0100
Re: Java EE Architecture Arved Sandstrom <asandstrom2@eastlink.ca> - 2013-12-16 20:14 -0400
Re: Java EE Architecture lipska the kat <"lipskathekat at yahoo dot co dot uk"> - 2013-12-17 08:47 +0000
Re: Java EE Architecture Jeff Higgins <jeff@invalid.invalid> - 2013-10-16 20:19 -0400
Re: Java EE Architecture Jeff Higgins <jeff@invalid.invalid> - 2013-10-16 21:24 -0400
Re: Java EE Architecture lipska the kat <"nospam at neversurrender dot co dot uk"> - 2013-10-16 11:49 +0100
Re: Java EE Architecture "Qu0ll" <Qu0llSixFour@gmail.com> - 2013-10-16 22:24 +1100
Re: Java EE Architecture lipska the kat <"nospam at neversurrender dot co dot uk"> - 2013-10-16 13:39 +0100
Re: Java EE Architecture Arne Vajhøj <arne@vajhoej.dk> - 2013-10-16 20:39 -0400
Re: Java EE Architecture "Qu0ll" <Qu0llSixFour@gmail.com> - 2013-10-17 13:43 +1100
Re: Java EE Architecture Jeff Higgins <jeff@invalid.invalid> - 2013-10-16 23:22 -0400
Re: Java EE Architecture lipska the kat <"nospam at neversurrender dot co dot uk"> - 2013-10-17 08:53 +0100
Re: Java EE Architecture lipska the kat <"nospam at neversurrender dot co dot uk"> - 2013-10-17 08:57 +0100
Re: Java EE Architecture "Qu0ll" <Qu0llSixFour@gmail.com> - 2013-10-17 19:31 +1100
Re: Java EE Architecture lipska the kat <"nospam at neversurrender dot co dot uk"> - 2013-10-17 09:56 +0100
Re: Java EE Architecture "Qu0ll" <Qu0llSixFour@gmail.com> - 2013-10-17 20:18 +1100
Re: Java EE Architecture lipska the kat <"nospam at neversurrender dot co dot uk"> - 2013-10-17 10:56 +0100
Re: Java EE Architecture "Qu0ll" <Qu0llSixFour@gmail.com> - 2013-10-17 21:39 +1100
Re: Java EE Architecture lipska the kat <"nospam at neversurrender dot co dot uk"> - 2013-10-17 12:08 +0100
Class Person [was: Java EE Architecture] "Chris Uppal" <chris.uppal@metagnostic.REMOVE-THIS.org> - 2013-10-18 08:19 +0100
Re: Java EE Architecture Arne Vajhøj <arne@vajhoej.dk> - 2013-10-17 21:00 -0400
Re: Java EE Architecture Arne Vajhøj <arne@vajhoej.dk> - 2013-10-17 21:02 -0400
Re: Java EE Architecture lipska the kat <"nospam at neversurrender dot co dot uk"> - 2013-10-18 09:06 +0100
Re: Java EE Architecture lipska the kat <"nospam at neversurrender dot co dot uk"> - 2013-10-18 09:04 +0100
Re: Java EE Architecture Arne Vajhøj <arne@vajhoej.dk> - 2013-10-19 22:43 -0400
Re: Java EE Architecture lipska the kat <"nospam at neversurrender dot co dot uk"> - 2013-10-20 09:05 +0100
Re: Java EE Architecture Arne Vajhøj <arne@vajhoej.dk> - 2013-10-20 09:24 -0400
Re: Java EE Architecture Arne Vajhøj <arne@vajhoej.dk> - 2013-10-16 20:43 -0400
csiph-web