Java Mailing List Archive

http://www.junlu.com/

Subjects
Home
mod jk2 https
Donation of JAXP 1 3 Sources to Apache
R annoyances
RE: Finding out when the aspnet admin worker process has recycled
Favorite Linux Distribution
eigenvalues of a circulant matrix
Apache Install
Reachin apache from outside
Ant should have an ext directory
Warning: Documentroot doesn 't exist
Can this be Done?
RE: Multilanguage Application
RE: Simple Question On setting up Sub Domain site
Lack of independence in anova()
How to close connection instead of sending 403?
winning the case for ANT
Re: adding php
New Ant GUI 'Ant 's Nest '
Narrowing Down A Strange Problem
Ant Task: sshexec
R Graph Gallery : categorization of the graphs
I 've been hacked, I need some help please
RE: Anyone working with DotNetNuke?
RE: Exception Handling Opinion
hex format
RE: IIS stopped working :(
<for > Build Failed:problem
RE: Separation of Objects from Logic
RE: Tracking pages with long request execution time
sending email to multiple destination
Web Site
ant UI
Easy cut & paste from Excel to R?
Win32 Apache Restart
Improving Tasks
HELP! PLEASE!
RE: Adding Controls to a Page
read table
RE: ASPNET account doesn 't exist!
Best way to uninstall Apache2 on red hat
from win to linux how to web page
XMLParseException changes and creation of XMLLocator2
Re Post: rewrite backslash to forward slash
Target or macrodef?
Page display problem XPSP2
Authentication problems
Dynamic Dictionary Data Type?
Newbie unable access my www from outside
off topic question: Latex and R in industries
Conflict between xtable and Hmisc when using Sweave?
Very old problem without any new solution
mod rewrite help
Basic Authentication question
RE: Code Security
calling ant from java program
prevent double signing
Re: Controlling Copy/Paste/Print
Using R to illustrate the Central Limit Theorem
web server slow too much slow
access to user directories
Links
Home
Official R Project Site
 
Search:  
Power your search with and, or, +, -, or "some phrase" operators.
RE: Separation of Objects from Logic

RE: Separation of Objects from Logic

2004-12-10       - By Kamran
Reply:     1     2     3     4     5     6     7     8     9     10     >>  

People are talking about CURD behavior for their business objects for a
long time.  In Microsoft world and VB especially Rockford
Lhotka(lhotka.net) is the champion of these concepts. The advantages you
wrote are really applicable.  However, I see one fundamental issue with
this approach, to make my point let assume any real world object say a
Car. Does a car know how to create itself? or does it know how to
dispose itself? Even living being cannot do that. Living being can only
reproduce or create a copy/clone of them self using external processes.
Therefore, I argue, CURD is not the natural behavior for an object.

Let's assume for a moment, CURD is fine for objects. How many different
ways an object will know to create itself? Say today you are working
with MSSQL database and write all the create methods based on it.
Tomorrow you want to move to say Oracle what you will do? re-write these
objects or override the Create method or use a Factory. The first
solution is very limited second is scalable but guess what, object
doesn't know how to save or load them self  :) Having a Create method
that uses Factory to Create itself is not encapsulation.

Another argument that Smart objects (objects that encapsulate
everything) can be bindable. Well yes, any object could be. This is more
of a View stuff and nothing to do with objects itself. Suppose you have
Customer and Order object. At sometime you might want to see all the
customers and their orders and other all the orders and associated
customer. In first you want to show all the customer detail and summary
of their orders and in second you want to show full detail of order and
summary of the customer. Will you design CustomerDetail and
CustomerSummary objects with full CURD support or you will create one
object and let GUI decide what they want to show? Again, first is too
much work and second is not good OO design. CustomerDetail and
CustomerSummary is nothing but two views of same underlying object
Customer, and these objects need to be bindable not the Customer object.
Hence, implement everything  on the Customer object beats the purpose
and MVC pattern comes into the picture.

The bottom line, IT DEPENDS :). I will go for smart objects when I know
I have no extendability issues and going to use these objects for
end-to-end implementation i.e. creation to view. For situation where I
know I have to design for change both in backed and views I will use
light-weight objects.

What you say?

Happy Programming !

Kamran Qamar


Phil Winstanley wrote:

>Hello,
>
>I'm having a discussion with a colleague of mine at the moment about the
>benefits of differing architectures, specifically two different
>architectures: -
>
>1. Where each object is responsible for loading and saving it's data so has
>both methods and properties. Intelligent objects one might say.
>
>I want to go in what I see as both the pros and cons for each, so here goes
>
>Advantages
>
>a) No need for a separate business logic layer.
>b) Logic for managing objects is always at hand as one of the methods of the
>object.
>c) Bindable.
>
>Disadvantages
>
>a) The methods are always there even when they're not used.
>b) ... erm ?
>
>2. Where each object is just a class with properties, light weight, but
>completely dumb. All logic is performed through a separate Business Logic
>Layer.
>
>Advantages
>
>a) No tight coupling with the business logic layer, objects can be used
>independently.
>b) Objects serialize happily as they're just made up of simple types,
>string, int & Guid generally.
>c) Light weight and can be moved between layers very easily.
>d) Bindable
>e) It's the wasy Microsoft seem to do things looking at the Provider Models.
>
>Disadvantages
>
>a) The objects have no concept of how they should behave.
>b) You need to know what in the Business Logic layer to use for
>saving/loading your objects with data.
>
>Now, I'm a fan of #2 for the reasons outlined above, but I don't know enough
>about #1 to make an informed choice so would like to hear how others
>approach this.
>
>Datasets are not out of the question though I'd prefer to stay away from
>them and their typed brethren.
>
>What do you guys use and why? What do you think of the above two?
>
>Thanks,
>
>Phil.
>
>
>
>Need SQL Advice? http://sqladvice.com
>Need RegEx Advice? http://regexadvice.com
>Need XML Advice? http://xmladvice.com
>
>
>
>  
>



Need SQL Advice? http://sqladvice.com
Need RegEx Advice? http://regexadvice.com
Need XML Advice? http://xmladvice.com

©2008 junlu.com - Jax Systems, LLC, U.S.A.