• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
[YIDLUG] SOLID​  the ​five basic principles of object-oriented programming and design.
 

[YIDLUG] SOLID​ the ​five basic principles of object-oriented programming and design.

on

  • 661 views

Presented BY:Yitzchok gottlieb a Software Developer working for GoFlow Commerce and one of the Co-founders of the NYALT.NET meetup group. ...

Presented BY:Yitzchok gottlieb a Software Developer working for GoFlow Commerce and one of the Co-founders of the NYALT.NET meetup group.

Description: SOLID stands for Single responsibility, Open-closed, Liskov substitution, Interface segregation and Dependency inversion

​​The principles when applied together intend to make it more likely that a programmer will create a system that is easy to maintain and extend over time.

Sample and other files are available: https://github.com/Yitzchok/YIDLUGSOLIDSample

Video of the presentation is available:https://www.youtube.com/watch?v=TU3VMmNFSlM

YIDLUG is a Yiddish speaking Linux (and other software development) Users Group,
check us out at http://www.yidlug.org

Statistics

Views

Total Views
661
Views on SlideShare
661
Embed Views
0

Actions

Likes
1
Downloads
7
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    [YIDLUG] SOLID​  the ​five basic principles of object-oriented programming and design. [YIDLUG] SOLID​ the ​five basic principles of object-oriented programming and design. Presentation Transcript

    • YIDLUG TOPIC: SOLID THE PRINCIPLES OF OBJECT ORIENTED DESIGN YITZCHOK GOTTLIEB SOFTWARE DEVELOPER AT GOFLOW COMMERCE
    • OBJECT ORIENTED DESIGN CONCEPTS • Object/Class – A tight coupling or association of the data with the methods that act on the data. • Information hiding – The ability to protect some components of the object from external entities. • Inheritance – The ability for a class to extend or override functionality of another class • Interface - The ability to defer the implementation of a method. • Polymorphism - The ability to replace an object with a sub object.
    • WHAT IS SOLID? S.O.L.I.D. is a collection of best-practice object-oriented design principles that you can apply for design to accomplish various desirable goals like losecoupling, higher maintainability, etc. These principles were pioneered and first collected into a written work by Robert „Uncle Bob‟ Martin.
    • S.O.L.I.D. DESIGN PRINCIPLES • SRP – Single Responsibility Principle • OCP – Open Closed Principle • LSP – Liskov Substitution Principle • ISP – Interface Segregation Principle • DIP – Dependency Inversion Principle Let‟s check them out…
    • S.R.P. - SINGLE RESPONSIBILITY PRINCIPLE A class should have one, and only one, reason to change.
    • THIS LEADS TO HIGHER QUALITY CODE Because the code is • More readable, that is easier to understand • Less error prone • Robust • Testable • Maintainable
    • O.C.P - OPEN CLOSED PRINCIPLE You should be able to extend a class behavior, without modifying it.
    • The code should be “Open for Extension” and “Closed for Modification”
    • L.S.P - LISKOV SUBSTITUTION PRINCIPLE A.K.A. DESIGN BY CONTRACT Derived classes must be substitutable for their base classes.
    • I.S.P - INTERFACE SEGREGATION PRINCIPLE (INTERFACE POLLUTION) Make fine-grained interfaces that are client specific.
    • Clients shouldn‟t be forced to implement interfaces they don‟t use.
    • D.I.P - DEPENDENCY INVERSION PRINCIPLE Depend on abstractions, not on concretions
    • A. High level modules should not depend upon low level modules. Both should depend upon abstractions. B. Abstractions should not depend upon details. Details should depend upon abstractions