when you use a Class it is an object.
getter and setter are methods by another name.
if you instantiate a class all the methods are carried with it whether
they are used or not.
so regardless of your argument it is OO.
if you are familar with c then create a hello world function and compile
then create a class hello world. not the difference in size and look at
the stack for a call to both.
the last time I did this the function compiled to 1K the class compile
was 10K with no methods in the class.
then put getter and setter in the hellow world and watch the size and
the stack when using the class.
this will give you an idea of what is being talked about.
=========================
BJ Freeman
Strategic Power Office with Supplier Automation
<http://www.businessesnetwork.com/automation/viewforum.php?f=52>
Specialtymarket.com <http://www.specialtymarket.com/>
Systems Integrator-- Glad to Assist
Chat Y! messenger: bjfr33man
Marc Morin sent the following on 12/11/2010 12:40 PM:
Now it's pretty obvious that many are reading the incorrectly renamed O->R
mapping subject and saying it's counter to OFBiz entity model, core philosophy,
discussed before... go away you Object lovin' Java developer... ;-)
I don't want to repeat the topic, but it is a getter/setter decorator around
the Entity/Delegator API that you all love. Not hibernate, not OO
persistence...
I don't know how anyone can say that the following code is "nicer", "safer",
easier to maintain
GenericValue order = delegator.findOne("OrderHeader",
UtilMisc.toList("orderId", orderId), true);
Timestamp entryDate = order.getTimestamp("entryDate");
List<GenericValue> orderItems = order.getRelated("OrderItem");
vs (evil Object facade, what a Java developer would expect to see, IDE
auto-completion, type safety)
OrderHeader order = OrderHeader.findOne(delegator,orderId);
Timestamp entryDate = order.getEntryDate();
List<OrderItem> orderItems = order.getOrderItemList();
My point is, there is a simple facade we can present on all the goodness of the
GenericValue, delegator, dispatcher, transactions, that makes the Java purest
feel better about OFBiz. (been easier to find Java developers than OFBiz
ones...)
We have been using this exact decorator pattern in our OFBiz application for over 2
years, it feels natural when writing Java code (ie. when in Rome act like a Roman),
haven't heard any developers say they don't want to use it in favor of the
"String" way, once exposed to it and writing new code. When modifying existing
code, they want to change all GenericValues to their appropriate object decorator. (we
aren't doing this in app/framework so we can merge easier, but would love to do see it
done/do it)
Well, looks like we'll continue on our own marry way on this one, keep our
forked technology to ourselves.... I can feel the rope pushing that I
mentioned previously. ;-)