2. References:
Jagadeesh Nandigam, Venkat N Gudivada, Abdelwahab Hamou-
Lhadj and Yonglei Tao “Interface-Based Object-Oriented Design
with Mock Objects”, Sixth International Conference on
Information Technology: New Generations, 2009.
Alexandre Chureau, Yvon Savaria and El Mostapha Aboulhamid
“Interface-based Design of Systems-on-Chip using UML-RT”, 4th
IEEE International Workshop on System-on-Chip for Real-Time
Applications (IWSOC’04).
Rakesh Kumar Mishra and Bharat Lohani, “An Object-Oriented
Software Development Approach to Design Simulator for
Airborne Altimetric Lidar”,
2
5. Overview
Interfaces
Mock Objects
Practicing Interface-Based Approach in OOAD
My Enhancement in the Interface-Based Design
Conclusion
5
6. Interfaces
What are the interfaces???
Why it is important???
How we can do this???
6
7. Interfaces: (Continued)
In object-oriented programming languages, an interface is a language
construct that specifies the expected behavior of an object as a set of
operation/method signatures.
A method signature usually includes the method name, order, and type
of its parameters, and its return type.
7
9. Interfaces: (Continued)
With careful use of interfaces, we can decouple
classes in our system.
program to an interface, not an implementation.
flexibility (gracefully accommodating changes in
direction),
extensibility (gracefully accommodating addons),
pluggability (gracefully substituting objects that have
identical interfaces for each other at run-time using
dynamic binding and polymorphism)
9
11. Mock Objects
In object-oriented programming, mock
objects are simulated objects that mimic the
behavior of real objects in controlled ways.
It is not that developing interface-based
design depends on mocks, but using mocks in
software development forces one to develop
code that is interface-based, loosely
coupled, and where object composition via
interfaces is favored.
11