• OO大原则


    2.1 OO原则综述

    2.1.1 引言

             好的设计,成就好的作品:僵化的设计,则会使你的作品大打折扣。在软件领域更是如此。Bob大叔在其《敏捷软件开发——原则、模式与实践》一书的序言中就讲到“美的东西比丑的东西创建起来更廉价,也更快捷。”可见追求美好的软件设计不光是代码优雅的问题,更关乎生产成本。对于软件架构的研究经历了很长时间的摸索,在面向过程到面向对象,从设计原则到设计模式,对于如何设计更好软件的探索,从未停止。技术大师总结了很多设计上的经典法则,后来者可以站在巨人的肩膀上尽情享受丰富而珍贵的经验。

             在第1章“OO大智慧”中,我们分析和讨论了面向对象技术的基本要素,对继承、封装、多态和接口等进行了基本的讨论,如何将这些基本技术应用的得心应手,是本章要阐释的问题和目标。面向对象的原则也正是如何使用继承、封装、多态和接口技术进行优良设计的原则总结和规律认识,因此这两掌的内容相辅相成,互为补充。

    2.1.2 原则综述

             本章将重点讲述最基本的5个设计原则,分别是:单一职责原则、开放封闭原则、依赖倒置原则、接口隔离原则和Liskov替换原则,在表2-1中列出了主要的一些面向对象设计原则及其简单描述,详细的分析将在本章各节逐步展开。

    2-1 设计原则

    设计原则

    英文表达

    说明

    单一职责原则

    SRPSingle Responsibility Principle

    一个类,应该仅有一个引起它变化的原因,不要将变化原因不同的职责封装在一起,而应该隔离。

    开放封闭原则

    OCPOpen Closed Principle

    软件实体应当对修改关闭,对扩展开放

    依赖倒置原则

    DIPDependency Inversion Principle

    依赖了抽象,而不要依赖于具体,因为抽象相对稳定

    接口隔离原则

    ISPInterface Segregation Principle

    尽量应用专门的接口,而不是单一的总接口,接口应该面向用户,将依赖建立在最小的接口上

    Liskov替换原则

    LSPLiskov Substitution Pinciple

    子类必须能够替换其基类

    合成/聚合复用原则

    CARPComposite/Aggregate Reuse Principle

    在新对象中聚合已有对象,使之成为新对象的成员,从而通过操作这些对象达到复用的目的。合成方式较继承方式耦合更松散,所以应该少继承、多聚合

    迪米特法则

    LoDLaw of Demeter

    又叫最小知识原则,指软件实体应该尽可能少的和其他软件实体发生相互作用

    在本书中,我们只对前5大原则进行系统论述,关于合成/聚合复用原则,在1.2节“什么是继承”中已经有相关的论述。

  • 相关阅读:
    Sql Server Profiler使用
    用PowerDesign反向生成数据库Sql语句问题
    使用PowerDesign15反向生成数据库
    离线安装Sharepoint工具
    开发Windows服务
    Windows Server 2008 R2 安装域
    Entity Framework执行Sql语句返回DataTable
    GO 学习资源收集
    Ubuntu常用命令大全
    MVC MVC3中 ViewBag、ViewData和TempData的使用和区别 【转】
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/1748601.html
Copyright © 2020-2023  润新知