I am a little bit confused here regarding these two things. What is the difference between OO Development architecture and OO Development model ? Is model part of the architecture ? Can someone explain to me in detail ?
Thank you.
8 replies to this topic
#1
Posted 12 October 2010 - 05:23 PM
|
|
|
#2
Posted 14 October 2010 - 01:21 AM
Any help ?
Thank you.
Thank you.
#3
Posted 14 October 2010 - 03:15 AM
The two things operate in different dimensions.
OO model defines internal organisation of an entity (one object, or one application, etc.). It defines objects and their interactions. Object model shows internals of objects up to desired level of detail, because internals of objects are also objects (has-a relation). It is your decision at which level of detail to stop - whatever you want to show with one model, you draw details until you show that point; more details have no purpose in particular case.
Architecture is a set of principles to obey when designing a system. OO Architecture defines what to do to create an OO system. It defines principles like inheritance, abstraction, virtual members, etc.
Before OO Architecture there was modular architecture - it defined sequence of operations that program should perform. OO Architecture rather defines objects and how they interact, and program execution is considered through lifetime of its objects. After OO Architecture there emerged SOA - Service Oriented Architecture - it is at higher level than OOA in terms that entities in architecture are services. Each service defines a contract how to be requested (e.g. Web service through SOAP, or Web page through HTTP). Particular entities can be then designed in any way you like, including OOA.
OO model defines internal organisation of an entity (one object, or one application, etc.). It defines objects and their interactions. Object model shows internals of objects up to desired level of detail, because internals of objects are also objects (has-a relation). It is your decision at which level of detail to stop - whatever you want to show with one model, you draw details until you show that point; more details have no purpose in particular case.
Architecture is a set of principles to obey when designing a system. OO Architecture defines what to do to create an OO system. It defines principles like inheritance, abstraction, virtual members, etc.
Before OO Architecture there was modular architecture - it defined sequence of operations that program should perform. OO Architecture rather defines objects and how they interact, and program execution is considered through lifetime of its objects. After OO Architecture there emerged SOA - Service Oriented Architecture - it is at higher level than OOA in terms that entities in architecture are services. Each service defines a contract how to be requested (e.g. Web service through SOAP, or Web page through HTTP). Particular entities can be then designed in any way you like, including OOA.
#4
Posted 15 October 2010 - 09:13 AM
Thank you very much zoranh. I really appreciate it. :)
#5
Posted 16 October 2010 - 04:25 PM
@ zoranh thanks alot your answer are very clear
and I want to ask you a question related to oop
my question is "why java doesn't support multipli inheritanc and why c++ support it or what's the problem that make c++ support it".
thanks again
and I want to ask you a question related to oop
my question is "why java doesn't support multipli inheritanc and why c++ support it or what's the problem that make c++ support it".
thanks again
#6
Posted 17 October 2010 - 06:15 AM
Java uses the interface paradigm to avoid complexities like the inheritance diamond.
#7
Posted 17 October 2010 - 12:52 PM
Problem with multiple inheritance occurs when two classes declare member with same name. In such case, inherited classes must refer members in such way that base class name is prepended to member name in order to avoid ambiguity. That solution is forced and it's bad because intention of inheritance is that inherited class inherits members - they become its own members, and there is no room for questions which member is which.
Anyway, if you suppose that there is no multiple inheritance, then members of one base class can become available by instantiating a member variable of that class. In that case you would access members of that base class by addressing member variable and then accessing the desired member. That is exactly the same as in multiple inheritance, but it is clear and sound - there is no ambiguity.
Java has forbidden multiple inheritance and later on C# did the same (C# was designed with lot of Java influence). My personal opinion, since I am professionally C++ and C# programmer, is that multiple inheritance is a bad idea. As far as I remember, I've never used it (apart from some faculty exam, perhaps).
Anyway, if you suppose that there is no multiple inheritance, then members of one base class can become available by instantiating a member variable of that class. In that case you would access members of that base class by addressing member variable and then accessing the desired member. That is exactly the same as in multiple inheritance, but it is clear and sound - there is no ambiguity.
Java has forbidden multiple inheritance and later on C# did the same (C# was designed with lot of Java influence). My personal opinion, since I am professionally C++ and C# programmer, is that multiple inheritance is a bad idea. As far as I remember, I've never used it (apart from some faculty exam, perhaps).
#8
Posted 26 October 2010 - 03:56 AM
Hi,
I would like to know how do you actually compare object oriented development and event driven development ? From what I know, OO is being object based and ED is being event based. Is there any other differences between them ? I know that OO has got a lot of principles and concepts but how about ED ?
Thank you.
I would like to know how do you actually compare object oriented development and event driven development ? From what I know, OO is being object based and ED is being event based. Is there any other differences between them ? I know that OO has got a lot of principles and concepts but how about ED ?
Thank you.
#9
Posted 30 October 2010 - 01:33 AM
To me events is the answer from OO to provide polymorphism without need to do full inheritance. Consider event as black box approach, while full inheritance is white box approach.
1 user(s) are reading this topic
0 members, 1 guests, 0 anonymous users


Sign In
Create Account


Back to top









