zoukankan      html  css  js  c++  java
  • 面向对象的五大基本原则

    1.单一职责原则
    Single Responsibility Priciple 对于一个类而言,应该有一个引起它变化的原因。
    要符合单一职责原则,那么就要将一个类中的各个功能分开。
    比如图片加载控件,需要将图片的加载和缓存进行分开。

    2.开闭原则
    Open Close Principle 软件中的对象对于扩展是开放的,但是对于修改是封闭的。也就是说软件修改的时候,应该尽量用扩展进行变化,而不是通过修改已有的代码。
    要符合开闭原则,那么创建接口规范,然后实现接口中的方法来进行修改代码。
    比如图片加载框架中的图片的三级缓存,内存缓存,本地缓存。

    3.里氏替换原则
    Liskov Substitution Principle 所有引用某类的地方必须透明的使用其子类。也就是使用了多态。开闭原则和里氏替换原则是配合使用的,结合使用就是策略模式。

    继承的优点
    ①代码重用,每个子类都有父类的方法和属性
    ②子类和父类相似,但是又与父类有区别
    ③提高代码的可扩展性
    继承的缺点
    ①继承是侵入式的,只要继承就必须拥有父类的所有的属性和方法
    ②可能造成子类代码冗余,缺少灵活性。

    4.依赖倒置原则
    Dependence Inversion Principle
    ①高层次的模块不应该依赖低层次的模块,应该依赖于其抽象。
    ②抽象不依赖于细节,细节依赖于抽象。
    也就是在具体类中应该尽量使用类的抽象。就像图片框架中共同使用ImageCache,而不使用其具体的实现类一样。

    5.接口隔离原则

    Interface-Segregation Principle

    某个类不应该依赖它不需要的接口,应该建立在最小接口上。

    简记:

    单一职责原则(SRP)
    开放封闭原则(OCP) 
    里氏替换原则(LSP) 
    依赖倒置原则(DIP) 
    接口隔离原则(ISP)
    s( Single-Resposibility Principle ): 单一职责原则
    o( Open-Closed principle ): 开放封闭原则
    l( Liskov-Substituion Principle ): 里氏原则
    i( Interface-Segregation Principle ): 接口隔离原则
    d( Dependecy-Inversion Principle ): 依赖倒置原则
    一个单词:立方体(solid),很好记!!!
  • 相关阅读:
    iphone开发 使用TouchJSON框架 解析JSON
    iphone开发UIScrollView控件详解
    iPhone UIAlertView属性及使用方法
    vim文本编辑器使用大全 命令的解读
    iphone开发软件Xcode3.2.6破解免证书真机开发调试方案
    Objectivec语言 字符串类NSMutableString用法
    iphone开发 如何在NSMutableDictionary中放入基本数据类型
    找了很久,终于让我找到了,登陆界面登陆按钮随着输入法键盘的弹出而动态改变
    微软安全指南中心:Windows 2000
    在网络中安装、配置和使用SUS服务
  • 原文地址:https://www.cnblogs.com/cy0628/p/14865976.html
Copyright © 2011-2022 走看看