Friday 6 July 2012

Describe the difference between Interface-oriented, Object-oriented and Aspect-oriented programming

Purpose:
  • Programmers are required to have a shared vocabulary when it comes to design and programming. This question is a simple test to see the level to which a programmer is versed in programming theory. A lack of in depth explanation indicates that a developer is either junior or ignorant to programming theory.
  • A lack of a theoretical base may not inherently make a programmer bad, but it is a good indicator for passion if a developer tries to formalize and understand their craft.

Potential Answer:
Object-oriented programming =  methodology built around data abstraction and message communication between objects. The basic concepts of OOP are encapsulation, inheritance, and polymorphism.
Interface-oriented programming = extension of OOP in which all dependencies uses abstract interfaces where implementations are separate and decoupled. 
Aspect-oriented programming = Type of programming concerned with cross cutting functionality list logging and exception handling that spans multiple layers in the system. The idea is to modularise them into units called aspects and select execution path at runtime.

No comments:

Post a Comment