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

    五大原则:指导怎么设计类

    1、单一职责原则SRP

    是指一个类的功能要单一,不能包罗万象。如同一个人一样,分配的工作不能太多,否则一天到晚虽然忙忙碌碌的,但效率却高不起来。

    2、开放封闭原则   对修改是封闭的 对扩展是开放的   尽量使用父类和子类

    一个模块在扩展性方面应该是开放的而在更改性方面应该是封闭的。比如:一个网络模块,原来只服务端功能,而现在要加入客户端功能,
    那么应当在不用修改服务端功能代码的前提下,就能够增加客户端功能的实现代码,这要求在设计之初,就应当将服务端和客户端分开,公共部分抽象出来。

    3、里氏替换原则 

    一个模块在扩展性方面应该是开放的而在更改性方面应该是封闭的。比如:一个网络模块,原来只服务端功能,而现在要加入客户端功能,
    那么应当在不用修改服务端功能代码的前提下,就能够增加客户端功能的实现代码,这要求在设计之初,就应当将服务端和客户端分开,公共部分抽象出来。

    4、依赖倒置原则    上层的手机操作系统类依赖于下层的苹果..的类 小米

       满足依赖倒置原则的例子          依赖于抽象不要依赖具象

    //做一个手机父类

    public abstract class shouji

    {

    public abstract void jiesuo();

    }                                                                     

    //苹果的子类

    public class pingguo:shouji

    {

    public class override void jiesuo()

    {

    console.writeline("苹果手机解锁");

    }

    }

    //操作类

    class caozuo

    {

    public void jiesuo(shouji sj)

    {

    sj.jiesuo();

    }

    }

     可以扩展其它子类,操作类不用动

    5、迪米特法则  尽量的少一点联系  类与类之间   降低类之间的耦合

  • 相关阅读:
    一致性算法—Paxos、Raft、ZAB
    分布式系统
    Alibaba开源组件-分布式流量控制框架sentinel初探
    Sentinel基本使用--基于QPS流量控制(二), 采用Warm Up预热/冷启动方式控制突增流量
    LinkedList实现基于LRU算法的缓存
    使用jdbc操作ClickHouse
    如何在js里引用php变量
    微信WeixinJSBridge API使用实例
    微信内置浏览器私有接口WeixinJSBridge介绍
    如何实现php手机短信验证功能
  • 原文地址:https://www.cnblogs.com/yp11/p/5760873.html
Copyright © 2011-2022 走看看