OO Design Debate

J

Joanna Carter [TeamB]

"Mark Wilden" <[email protected]> a écrit dans le message de
[email protected]...

| Not that anyone asked me, but I'd prefer this group be about C#. Not .NET,
| not Windows programming, not OOP - but C#. As it is, only a minority of
| messages are on-topic for the group's stated purpose.

Certainly would be nice to see.

Joanna
 
V

V

A lot has been said already... but i couldn't help giving my two bits
for the question.

Summary: The two are separate classes PERIOD.

Reason:
1. your UI may be a Web Form instead of Windows, and the Product class
does not have to change.
2. your Product class may be exposed through a web service for data
transfer between distributed systems, but the ProductForm will probably
not.
3. Your ProductForm class is just a consumer of the Product Class in a
manner of speaking and not the Product itself.
4. Product is the entity in the system, and not the ProductForm.

It would be good to hear your co-worker's arguments on this.

Also, to get a good idea on OO Design (and specifically for .Net also)
I recommend two resources:
1. Object Oriented Analysis and Design - Grady Booch -> good for
understanding OO concepts
2. CSLA.Net - Rockford Lhotka (www.lhotka.net) -> Good coverage of OO
Concepts and their relevance to .Net Programming

- Vaibhav
 
F

Frans Bouma [C# MVP]

Saad said:

I've asked through my MVP lead for this newsgroup, it's now a matter
of 'if they think it's necessary it will be made available' ;)

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#)
------------------------------------------------------------------------
 
S

Saad Rehmani

So, what we're really waiting for at this point is for Microsoft to let us
know whether they consider design important or not.

Given some of the stuff they've been doing in the p&p group and the overall
direction, one would hope this decision is a no-brainer ...

I wonder if DSL / MDD vs. DDD types of discussions will be included.

This could be fun :)

Waiting ...
 
S

Saad Rehmani

Sorry about the ignorance, but where be this Architecture forum ye talk about?
 
G

Greg Young

I should also add that DDD is a form of MDD :)

so arguing DDD vs MDD is kind of silly :)
 
S

Saad Rehmani

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 ... :)

I wonder if there's an 'is-a' relationship between DDD / MDD.

I shall now look up the forum and continue my rambling there.

I hope they have an RSS feed, I really like being able to aggregate the information
I'm interested in.

Thanks Greg :)
 
F

Frans Bouma [C# MVP]

Saad said:
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#)
------------------------------------------------------------------------
 
A

Alfredo Novoa

"Frans Bouma [C# MVP]" <[email protected]> a écrit dans le
message de news: (e-mail address removed)...

| 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.
 
S

Saad Rehmani

FB said:
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.

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 :)
 
J

Joanna Carter [TeamB]

"Saad Rehmani" <[email protected]> a écrit dans le message de (e-mail address removed)...

| 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
 
J

Joanna Carter [TeamB]

"Frans Bouma [C# MVP]" <[email protected]> a écrit dans le
message de news: (e-mail address removed)...

| > 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
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top