Before software can be reusable, it first has to be usable. - Ralph Johnson
Now let me tell you, i found working on "Component based development" is totally different from "developing good OO System".
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Before software can be reusable, it first has to be usable. - Ralph Johnson
Before software can be reusable, it first has to be usable. - Ralph Johnson
SCJP, SCJD, SCWCD, SCBCD
Before software can be reusable, it first has to be usable. - Ralph Johnson
You seem to be comparing two concepts: (1) OO systems and (2) Component design.
are the "components" written in object-oriented code?
Do the same design principles of creating object-oriented software apply to designing object-oriented components?
The principles of designing object-oriented components and the principles of designing larger object-oriented information systems are slightly different. They are still object-oriented design principles, however.
Before software can be reusable, it first has to be usable. - Ralph Johnson
One need clear vision about what component will do & knowledge of all the places where that component can be used.
Originally posted by James Clark:
The same need applies to designing an OO system or any other software system for that matter. This is not something specifc to only "component" design.
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
SCJP, SCJD, SCWCD, SCBCD
The same need applies to designing an OO system or any other software system for that matter. This is not something specifc to only "component" design.
Well, no, by far not as much, because you can always refactor later - which is much harder to do once you published a component.
One needs clear requirements about what a component or a software system will do.
One needs clear requirements about all the places where a component or a software system can be used.
Before software can be reusable, it first has to be usable. - Ralph Johnson
You can use every OO design principle and all known OO design patterns for it. The point is that you have to use patterns like adapter, factory or template heavily to plug-in your customer software with your product software solution.
Before software can be reusable, it first has to be usable. - Ralph Johnson
I see "component development" as a possible subset of OO system design.
Before software can be reusable, it first has to be usable. - Ralph Johnson
Originally posted by James Clark:
The system is the larger concept. A component is part of a system. A system is not part of a component.
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Before software can be reusable, it first has to be usable. - Ralph Johnson
Object oriented design and component based design are two separate things
Originally posted by Sylvester Camphorian:
As it says-
"The idea in object-oriented programming (OOP) is that software should be written according to a mental model of the actual or imagined objects it represents. OOP and the related disciplines of object-oriented design and object-oriented analysis focus on modeling real-world interactions and attempting to create 'verbs' and 'nouns' which can be used in intuitive ways, ideally by end users as well as by programmers coding for those end users.
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Originally posted by James Clark:
English-based keywords and the ability to create English-based classnames, methods and data fields enable object-oriented programmer's to create applications that "seem" to model the "real world" closer than older progamming technologies, e.g. Assembly, Cobol
The ability to create a class named "Customer" or "Account", and the ability to create computing methods named "applyDiscount" or deleteAccountFromLedger" do help us create applications that model the real world easier, in my opinion.
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Before software can be reusable, it first has to be usable. - Ralph Johnson
Originally posted by Nachiket Patel:
Hello guys,
What i understood is,
Business Component should not be developed upfront,
Derive/Separate it when required, for that you need good decoupled OO system in place.
Regards, and thank you
Nachiket.
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus