473,756 Members | 9,160 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

OO Design Debate

Scenario:

In a commerce application, there is a Product class. Along with the Product
class there is a form (the text that goes in the labels of the input
controls) for inputting and updating existing instances of existing Product
objects. We'll call the second a ProductForm. Both would be data-driven.

I view these as 2 distinct classes. Product and ProductForm. Where Product
contains the business end and ProductForm contains the presentation end.

My coworker vehemently disagrees with me on this. He believes they should
be in the same class since they deal with one object, the Product. And he
has good arguments.

So, we figure perhaps hearing arguments from outside experts would shed some
light on the subject. Things that we are considering is readability,
maintainability , accessibility, and scalability.
Jun 2 '06
34 2187
Saad Rehmani wrote:
I would argue that all O/R mappers achieve the same objective, but
those that provide the most flexibility while maintaining clarity are
(at least) first amongst equals. Even amongst those that are forms
of each other ... :)
Often it's not that simple, but that's not unique to o/r mappers or
data-access solutions in general. There are still people writing
software with toolkits which aren't really toolkits which help them get
more productive (i.e.: cutting down development cost/testing cost
etc.), but only make the developer do things differently, without any
real gain.
I wonder if there's an 'is-a' relationship between DDD / MDD.


they both derive from the abstract supertype Buzzword, so they have a
common ancestor, though I wouldn't call it an is-a relationship as
they're more or less siblings. ;)

But perhaps if you move away from the practical aspects of DDD and far
into hardcore theory-land, you might be able to argue that DDD and MDD
have a lot in common, however in that context I always get a slight
feeling that it's a lot of fuss about hot air, creating a lot of
overhead and consuming a lot of time while producing very little to
move the project forward. (in short: design for the sole purpose of
'doing it through design')

FB

--
------------------------------------------------------------------------
Lead developer of LLBLGen Pro, the productive O/R mapper for .NET
LLBLGen Pro website: http://www.llblgen.com
My .NET blog: http://weblogs.asp.net/fbouma
Microsoft MVP (C#)
------------------------------------------------------------------------
Jun 9 '06 #31
On Tue, 6 Jun 2006 09:20:06 +0100, "Joanna Carter [TeamB]"
<jo****@not.for .spam> wrote:
"Frans Bouma [C# MVP]" <pe************ ******@xs4all.n l> a écrit dans le
message de news: xn************* **@news.microso ft.com...

| Well, there is, for years already. It's called comp.object.

Ok, I just took a peek in there and found messages by a certain RDBMS zealot
who takes great delight in ruining any OO discussion by insisting that OO is
utter rubbish and that the whole world can be run with a non-OO RDBMS.
Anyone who disagrees, it seems, is not allow to discuss OO principles :-(
We, in the Borland groups, have already banned this guy for being too
disruptive.


LMAO X-DDD

I like your decision. comp.object does not need more people like you.
Jun 9 '06 #32

FB wrote:
Saad Rehmani wrote:
I would argue that all O/R mappers achieve the same objective, but
those that provide the most flexibility while maintaining clarity are
(at least) first amongst equals. Even amongst those that are forms
of each other ... :)
Often it's not that simple, but that's not unique to o/r mappers or
data-access solutions in general. There are still people writing
software with toolkits which aren't really toolkits which help them
get more productive (i.e.: cutting down development cost/testing cost
etc.), but only make the developer do things differently, without any
real gain.
I wonder if there's an 'is-a' relationship between DDD / MDD.

they both derive from the abstract supertype Buzzword, so they have a
common ancestor, though I wouldn't call it an is-a relationship as
they're more or less siblings. ;)


Hmmm .... Buzzword is probably closer to an interface since it obviously
has no implementation ;)

But perhaps if you move away from the practical aspects of DDD and
far into hardcore theory-land, you might be able to argue that DDD and
MDD have a lot in common, however in that context I always get a
slight feeling that it's a lot of fuss about hot air, creating a lot
of overhead and consuming a lot of time while producing very little to
move the project forward. (in short: design for the sole purpose of
'doing it through design')
I think 'keep your design coupled with your code so both can evolve without
leaving the other behind' is probably a nicer way to say that :)

The thing that blows me away with the Generation-XP methodologies is that
all they're really doing is approaching problems from a different perspective.
'Improve your dev velocity / reliability / number of defects etc, etc. just
by thinking of the process of developing software in a different way', is
a pretty darn cool sell.

At the end of the day, most of these methodologies are really best practices
that someone (Eric Evans?) learnt over the course of their career. There's
no harm in learning about them and maybe gaining something from another person's
experience.

Then again, I might just like them because I hate meetings about spiraling
waterfalls :)

FB


--
Saad Rehmani / Prodika / Dallas / TX / USA
Jun 9 '06 #33
"Frans Bouma [C# MVP]" <pe************ ******@xs4all.n l> a écrit dans le
message de news: xn************* **@news.microso ft.com...

| > I wonder if there's an 'is-a' relationship between DDD / MDD.
|
| they both derive from the abstract supertype Buzzword, so they have a
| common ancestor, though I wouldn't call it an is-a relationship as
| they're more or less siblings. ;)

Wow man, too many TLAs :-)

Joanna

--
Joanna Carter [TeamB]
Consultant Software Engineer
Jun 9 '06 #34
"Saad Rehmani" <sa**********@g mail.com> a écrit dans le message de news:
44************* *************@m snews.microsoft .com...

| Hmmm .... Buzzword is probably closer to an interface since it obviously
| has no implementation ;)

Heheh :-)

| At the end of the day, most of these methodologies are really best
practices
| that someone (Eric Evans?) learnt over the course of their career. There's
| no harm in learning about them and maybe gaining something from another
person's
| experience.

That's what I found so annoying about UML; it started out as a language for
communicating ideas, then someone turned it into a methodology, which seems
to approach the traditional waterfall with the odd eddy :-)

Joanna

--
Joanna Carter [TeamB]
Consultant Software Engineer
Jun 9 '06 #35

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

9
3864
by: bigoxygen | last post by:
Hi. I'm using a 3 tier FrontController Design for my web application right now. The problem is that I'm finding to have to duplicate a lot of code for similar functions; for example, listing users, and listing assignments use similar type commands. Is there a "better" way I can organize my code?
36
4656
by: toedipper | last post by:
Hello, I am designing a table of vehicle types, nothing special, just a list of unique vehicle types such as truck, lorry, bike, motor bike, plane, tractor etc etc For the table design I am proposing a single column table with a field name called vehicle_type and this will contain the vehicle type. Sot it will be
22
2135
by: Nunaya | last post by:
We have developed two objects called "customer" and "salesrep". For simplicity, assume that these two objects will talk directly to a database. The database has three tables: customers, customersalesreps (allows multiple salesreps to be associated with a customer), and salesreps. The customer object has business rules that allow manipulation of customer information (add,update,delete,select,etc). The salesrep object has business rules...
7
1424
by: chrisn | last post by:
Do real developers use the design view? Thought it would be interesting to start a debate on this subject. According to all the MCP materials (yes, I know a bit mickey mouse), the design view is the way to build your ASP.NET pages. Problem is: - it generates goddam awful HTML, certainly not standards-based. - use of absolute positioning and tables for layout.
16
7093
by: marktxx | last post by:
I've finally gotten around to reading the book "Large-Scale C++ Software Design" by John Lakos. Has anyone documented what parts of this book are now obsolete due to C++ language changes such as namespaces? or are now generally considered bad advice? Feel free to reply here on a particular topic discussed in the book. I also noticed that John Lakos has a book in preparation called "Scalable C++: Component-Based Development" maybe this...
3
1450
by: MorrganMail | last post by:
Recently got to take over the responisibility for an application which is making heavy use of an Access database. It has been a long time since I came in contact with anything database related and I must admit I have forgotten a lot of the theory and was hoping you could help me out. I have found a couple of things in this database which to me seems like bad design but there might be good reasons for doing things this way, what do you...
17
4851
by: roN | last post by:
Hi, I'm creating a Website with divs and i do have some troubles, to make it looking the same way in Firefox and IE (tested with IE7). I checked it with the e3c validator and it says: " This Page Is Valid XHTML 1.0 Transitional!" but it still wouldn't look the same. It is on http://www.dvdnowkiosks.com/new/theproduct.php scroll down and recognize the black bottom bar when you go ewith firefox(2.0) which isn't there with IE7. Why does...
19
3173
by: neelsmail | last post by:
Hi, I have been working on C++ for some time now, and I think I have a flair for design (which just might be only my imagination over- stretched.. :) ). So, I tried to find a design certification, possibly that involves C++, but, if not, C++ and UML. All I could find was Java + UML design certifications (one such is detailed on http://www.objectsbydesign.com/tools/certification.html). Although UML is expected to be language independent,...
0
2470
by: jsimone | last post by:
This question is about DB2 table design and performance. We are using DB2 UDB Enterprise 8.2 on Linux. We have 6 tables in a parent-child (one-to-many) relationship with each other. Each child table having an FK up to its parent. This particular design is motivated by our domain model. A -> B -> C -> D -> E -> F There is some debate in our team about how best to accomplish this. Two approaches have been discussed.
0
9482
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
10062
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
9901
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
9878
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
9728
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
1
7282
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
6551
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
5322
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
3
2694
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.