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、迪米特法则  尽量的少一点联系  类与类之间   降低类之间的耦合

  • 相关阅读:
    玩转Visual Studio Editor篇
    .Net2.0的集合操作 What i know?
    Log文件压缩
    [转]比较高效地实现从两个不同数组中提取相同部分组成新的数组(只支持Int类型) [C#]
    Stream 和 Byte[]互操作
    net 2.0 中如何在线程引发的事件中控制forms controls
    C# 操作Word文档(转)
    利用Lucene.net搜索引擎进行多条件搜索的做法
    c# 添加图片水印,可以指定水印位置+生成缩略图
    SDN第一次作业
  • 原文地址:https://www.cnblogs.com/yp11/p/5760873.html
Copyright © 2011-2022 走看看