OBJECT ORIENTED DESIGN PRINCIPLES
Sayed Ahmed
BSc. Engineering in Computer Science and Engineering, BUET,
Bangladesh
MSc. in Computer Science, University of Manitoba, Canada
Owner/Architect/Developer
Justetc (Just et cetera) Technologies, Canada
http://www.justetc.com
http://sayed.justetc.com
FREE TRAINING BY JUSTETC
 Training and Education in Bangla:
 http://Bangla.SaLearningSchool.com
 Training and Education in English:
 http://www.SaLearningSchool.com
 http://English.SaLearningSchool.com
 Ask questions and get answers
 http://Ask.JustEtc.net
 Offline IT Training:
 http://University.JustEtc.net
OBJECT ORIENTED DESIGN PRINCIPLES
 Minimize The Accessibility of Classes and
Members
 Favor Composition Over Inheritance
 Program To An Interface, Not An
Implementation
 The Open-Closed Principle:
 Software Entities Should Be Open For
Extension, Yet Closed For Modification
OBJECT ORIENTED DESIGN PRINCIPLES
 The Single Choice Principle:
 Whenever a software system must support a set
of alternatives, ideally only one class in the
system knows the entire set of Alternatives
 The Liskov Substitution Principle:
 Functions That Use References To Base (Super)
Classes Must Be Able To Use Objects Of
Derived (Sub) Classes Without Knowing It
REFERENCES
 I will use the following resource to
demonstrate the principles
 http://userpages.umbc.edu/~tarr/dp/lectures/
OOPrinciples.pdf
PROGRAM TO AN INTERFACE
 http://stackoverflow.com/questions/383947/w
hat-does-it-mean-to-program-to-an-interface
 List myList = new ArrayList(); // programming to
the List interface instead of
 ArrayList myList = new ArrayList(); // this is bad
OBJECT ORIENTED ANALYSIS
 Must check
 http://www.salearningschool.com/displayArticle.p
hp?table=Articles&articleID=819&title=Object%2
0Oriented%20Analysis:%20Just%20an%20Over
view
ADDRESSES
 Trudelle Street, Toronto, Ontario, Canada
 Shimultuly, Gazipur, Bangladesh
 Justetc Computers
 Habib Complex, 2nd Floor
 Contact us
 Sayed: sayed@justetc.net (647-624-8509)
 Rafik: rafik@justetc.com (01942747702)
OUR SERVICES
 I provide consulting under Justetc (Just et cetera) Technologies, Canada
 I provide consulting on
 Software Development
 Web Development
 Software Engineering
 Software and Information Architecture
 Mobile Development
 Business Analysis
 I have several years of professional experience in different areas of IT,
Computer Science, and Software & Computer Engineering
 My education and experience exposed me to many abstraction levels of
computing; from the lowest level to the highest level (electronics, digital
system design, computer networks, data communications, databases,
software engineering, software development to web development)
Oop design principles

Oop design principles

  • 1.
    OBJECT ORIENTED DESIGNPRINCIPLES Sayed Ahmed BSc. Engineering in Computer Science and Engineering, BUET, Bangladesh MSc. in Computer Science, University of Manitoba, Canada Owner/Architect/Developer Justetc (Just et cetera) Technologies, Canada http://www.justetc.com http://sayed.justetc.com
  • 2.
    FREE TRAINING BYJUSTETC  Training and Education in Bangla:  http://Bangla.SaLearningSchool.com  Training and Education in English:  http://www.SaLearningSchool.com  http://English.SaLearningSchool.com  Ask questions and get answers  http://Ask.JustEtc.net  Offline IT Training:  http://University.JustEtc.net
  • 3.
    OBJECT ORIENTED DESIGNPRINCIPLES  Minimize The Accessibility of Classes and Members  Favor Composition Over Inheritance  Program To An Interface, Not An Implementation  The Open-Closed Principle:  Software Entities Should Be Open For Extension, Yet Closed For Modification
  • 4.
    OBJECT ORIENTED DESIGNPRINCIPLES  The Single Choice Principle:  Whenever a software system must support a set of alternatives, ideally only one class in the system knows the entire set of Alternatives  The Liskov Substitution Principle:  Functions That Use References To Base (Super) Classes Must Be Able To Use Objects Of Derived (Sub) Classes Without Knowing It
  • 5.
    REFERENCES  I willuse the following resource to demonstrate the principles  http://userpages.umbc.edu/~tarr/dp/lectures/ OOPrinciples.pdf
  • 6.
    PROGRAM TO ANINTERFACE  http://stackoverflow.com/questions/383947/w hat-does-it-mean-to-program-to-an-interface  List myList = new ArrayList(); // programming to the List interface instead of  ArrayList myList = new ArrayList(); // this is bad
  • 7.
    OBJECT ORIENTED ANALYSIS Must check  http://www.salearningschool.com/displayArticle.p hp?table=Articles&articleID=819&title=Object%2 0Oriented%20Analysis:%20Just%20an%20Over view
  • 8.
    ADDRESSES  Trudelle Street,Toronto, Ontario, Canada  Shimultuly, Gazipur, Bangladesh  Justetc Computers  Habib Complex, 2nd Floor  Contact us  Sayed: sayed@justetc.net (647-624-8509)  Rafik: rafik@justetc.com (01942747702)
  • 9.
    OUR SERVICES  Iprovide consulting under Justetc (Just et cetera) Technologies, Canada  I provide consulting on  Software Development  Web Development  Software Engineering  Software and Information Architecture  Mobile Development  Business Analysis  I have several years of professional experience in different areas of IT, Computer Science, and Software & Computer Engineering  My education and experience exposed me to many abstraction levels of computing; from the lowest level to the highest level (electronics, digital system design, computer networks, data communications, databases, software engineering, software development to web development)