Principle of OOD Abdul Hamid Cristian Jon Kartago Lamida 24 September 2010  New Frontier Solutions
Agenda Basic OOD Concept General OOD Process Sofware Change Principle of OOD Single Responsibility Principle Open Close Principle Liskov Subtitution Principle Dependency Inversion Principle Interface Segregation Principle
Why OOP? Procedural to OOP Procedural = start from functionality OOP = start from data Plus: OOP nice for developing complex software with large modul involving many developer Minus: OOP Concept is somewhat difficult to grasp at first place
Object Oriented Concept
Object Oriented Pilar - PIE Encapsulation Inheritance Polymorphism
Encapsulation Information Hiding Bundling Mechanism
Inheritance Is a... extends/implements
Polymorphism Object can detect its type at runtime
Object Design abstraction software change design pattern
Software Change Rigidity Fragility Immobility Viscocity
Principles of OOCD
Single Responsibility Principle There should not be more than one reason for software to change
Open Close Principle A module should be open for extension but closed for modification.
Liskov Subtitution Principle Subclasses should be substitutable for their base classes.
Dependency Inversion Principle Depend upon Abstractions. Do not depend upon concretions.
Interface Segregation Principle Many client specific interfaces are better than one general purpose interface
Java Project Use Case SRP: entity OCP, LSP: AbackingBean DIP: JumpActionBaseList
Discussion
Thank You

Principle of OOD