Jump to content

Object Oriented Development Architecture and Model

- - - - -

  • Please log in to reply
8 replies to this topic

#1
Xdawn90

Xdawn90

    Learning Programmer

  • Members
  • PipPipPip
  • 55 posts
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.

#2
Xdawn90

Xdawn90

    Learning Programmer

  • Members
  • PipPipPip
  • 55 posts
Any help ?

Thank you.

#3
zoranh

zoranh

    Programming Professional

  • Members
  • PipPipPipPipPip
  • 207 posts
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.

#4
Xdawn90

Xdawn90

    Learning Programmer

  • Members
  • PipPipPip
  • 55 posts
Thank you very much zoranh. I really appreciate it. :)

#5
eman ahmed

eman ahmed

    Learning Programmer

  • Members
  • PipPipPip
  • 79 posts
@ 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

#6
WingedPanther

WingedPanther

    A spammer's worst nightmare

  • Moderators
  • 16,831 posts
  • Location:Upstate, South Carolina
  • Programming Language:C, C++, PL/SQL, Delphi/Object Pascal, Pascal, Transact-SQL, Others
  • Learning:Java, C#, PHP, JavaScript, Lisp, Fortran, Haskell, Others
Java uses the interface paradigm to avoid complexities like the inheritance diamond.
Programming is a branch of mathematics.
My CodeCall Blog | My Personal Blog

#7
zoranh

zoranh

    Programming Professional

  • Members
  • PipPipPipPipPip
  • 207 posts
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).

#8
Xdawn90

Xdawn90

    Learning Programmer

  • Members
  • PipPipPip
  • 55 posts
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.

#9
LuthfiHakim

LuthfiHakim

    Programming God

  • Members
  • PipPipPipPipPipPipPip
  • 763 posts
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