Sayed Ahmed BSc. Engineering in Computer Science and Engineering, BUET, Bangladesh MSc. in Computer...

10
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.net http://sayed.justetc.net [email protected]

Transcript of Sayed Ahmed BSc. Engineering in Computer Science and Engineering, BUET, Bangladesh MSc. in Computer...

Page 1: Sayed Ahmed BSc. Engineering in Computer Science and Engineering, BUET, Bangladesh MSc. in Computer Science, University of Manitoba, Canada Owner/Architect/Developer.

OBJECT ORIENTED DESIGN PRINCIPLES

Sayed AhmedBSc. Engineering in Computer Science and Engineering, BUET, Bangladesh

MSc. in Computer Science, University of Manitoba, Canada

Owner/Architect/DeveloperJustetc (Just et cetera) Technologies, Canadahttp://www.justetc.nethttp://[email protected]

Page 2: Sayed Ahmed BSc. Engineering in Computer Science and Engineering, BUET, Bangladesh MSc. in Computer Science, University of Manitoba, Canada Owner/Architect/Developer.

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

Page 3: Sayed Ahmed BSc. Engineering in Computer Science and Engineering, BUET, Bangladesh MSc. in Computer Science, University of Manitoba, Canada Owner/Architect/Developer.

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

Page 4: Sayed Ahmed BSc. Engineering in Computer Science and Engineering, BUET, Bangladesh MSc. in Computer Science, University of Manitoba, Canada Owner/Architect/Developer.

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

Page 5: Sayed Ahmed BSc. Engineering in Computer Science and Engineering, BUET, Bangladesh MSc. in Computer Science, University of Manitoba, Canada Owner/Architect/Developer.

REFERENCES

I will use the following resource to demonstrate the principles

http://userpages.umbc.edu/~tarr/dp/lectures/OOPrinciples.pdf

Page 6: Sayed Ahmed BSc. Engineering in Computer Science and Engineering, BUET, Bangladesh MSc. in Computer Science, University of Manitoba, Canada Owner/Architect/Developer.

PROGRAM TO AN INTERFACE

http://stackoverflow.com/questions/383947/what-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

Page 8: Sayed Ahmed BSc. Engineering in Computer Science and Engineering, BUET, Bangladesh MSc. in Computer Science, University of Manitoba, Canada Owner/Architect/Developer.

ADDRESSES

Trudelle Street, Toronto, Ontario, Canada

Shimultuly, Gazipur, Bangladesh Justetc Computers Habib Complex, 2nd Floor

Contact us Sayed: [email protected] (647-624-8509) Rafik: [email protected] (01942747702)

Page 9: Sayed Ahmed BSc. Engineering in Computer Science and Engineering, BUET, Bangladesh MSc. in Computer Science, University of Manitoba, Canada Owner/Architect/Developer.

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)

Page 10: Sayed Ahmed BSc. Engineering in Computer Science and Engineering, BUET, Bangladesh MSc. in Computer Science, University of Manitoba, Canada Owner/Architect/Developer.