`

1、设计模式---6大设计原则

 
阅读更多
1、单一职责原则
用户的属性(Properties)和用户的行为(Behavior)没有分开,这是一个严重的错误!非常正确,确实是这个接口设计的一团糟,应该把用户的信息抽取成一个业务对象(Bussiness Object,简称BO),把行为抽取成另外一您的设计模式到另外一个接口中。

使用:
PI pUser = new User();
pUser.setName("nick");
//接口转义
BI bUser = (BI)pUser,
bUser.say("hello");

2、里氏替换原则【Liskov Substitution Principle】
向下转型是不安全的,子类可以扩展父类的功能,但不能改变父类原有的功能。
class Father
     function(a,b){return a-b;}
class Son extends Father
     function(a,b){retrun a+b;}
main:
   Son s = new Son();
   s.function(100,20);
    在实际编程中,常常会通过重写父类的方法来完成新的功能,这样写起来虽然简单,但是整个继承体系的可复用性会比较差,特别是运用多态比较频繁时,程序运行出错的几率非常大。

一、子类可以实现父类的抽象方法,但不能覆盖父类的非抽象方法。
覆盖(重写Override):方法名.返回类型,参数类型和参数个数都要求和父类中的一样.
重载(Overload):方法名和方法的返回类型都相同,但方法参数不一样

二、当子类的方法重载父类的方法时,方法的前置条件(即方法的形参)要比父类方法的输入参数更宽松。
参数扩大:当向下转型时,依靠参数范围自动匹对执行父类方法,而不是一直执行子类方法,参数缩小:当向下转型时,优先匹对的是子类方法,父类有可能是抽象类,子类是实现类,若传递了一个较大范围的参数时,就会去匹对父类方法,而父类方法是抽象类,这时程序将会报错。

三、覆盖或实现父类的方法是输出结果可以被缩小
1、重载:子类参数扩大
2、覆盖:子类参数和父类相同,父类为抽象方法
四、子类覆盖的方法不能比父类被覆盖的方法的访问权限更严格

三、依赖倒置原则【Dependence Inversion Principle】
A.高层次的模块不应该依赖于低层次的模块,他们都应该依赖于抽象。
B.抽象不应该依赖于具体,具体应该依赖于抽象。
随着时间的推移,越来越多的类型必须加入到系统中,模块将会被if/else语句弄得很乱,它最终将变得僵化、脆弱

四、接口隔离原则【Interface Segregation Principle】
接口尽量细化,同时接口中的方法尽量的少。
接口要高内聚。具体到接口隔离原则就是要求在接口中尽量少公布public 方法,接口是对外的承诺,承诺越少对系统的开发越有利,变更的风险也就越少,同时也有利于降低成本。
定制服务。

五、迪米特法则【Low Of Demeter】
对类的隔离原则(大致同四)

六、开闭原则【Open Close Principle】
(1)对于扩展是开放的(Open for extension)。这意味着模块的行为是可以扩展的。当应用的需求改变时,我们可以对模块进行扩展,使其具有满足那些改变的新行为。也就是说,我们可以改变模块的功能。
(2)对于修改是关闭的(Closed for modification)。对模块行为进行扩展时,不必改动模块的源代码或者二进制代码。模块的二进制可执行版本,无论是可链接的库、DLL或者.EXE文件,都无需改动。
  • 大小: 3.3 KB
分享到:
评论

相关推荐

    24种设计模式介绍与6大设计原则-PDF版 查阅方便

    这个PDF文档“24种设计模式介绍与6大设计原则”旨在帮助开发者理解和应用这些模式,提高代码的可维护性和可扩展性。以下是其中的主要内容: 一、设计原则 1. 单一职责原则:一个类或模块应只有一个引起其变化的原因...

    C++设计模式--基于Qt4开源跨平台开发框架

    模型(Model)负责数据处理,视图(View)负责数据展示,控制器(Controller)处理用户输入,这种分离职责的方式符合很多设计模式的原则。比如,视图和模型的解耦可以用到观察者模式,控制器可以采用策略模式来应对...

    23种 设计模式---面向对象的基本原则

    在面向对象编程中,设计模式基于一些基本原则,这些原则构成了良好设计的基础。本篇将深入探讨23种设计模式以及面向对象的基本原则。 面向对象的基本原则主要包括: 1. 单一职责原则(Single Responsibility ...

    24种设计模式介绍与6大设计原则

    24种设计模式介绍与6大设计原则24种设计模式介绍与6大设计原则

    java设计模式---诙谐易懂版

    6. 书中还提到了六大设计原则,包括单一职责原则(Single Responsibility Principle)、里氏替换原则(Liskov Substitution Principle)、依赖倒置原则(Dependency Inversion Principle)、接口隔离原则(Interface...

    android 24种设计模式介绍与6大设计原则

    以下是关于"Android 24种设计模式介绍与6大设计原则"的详细阐述: 一、六大设计原则 1. **单一职责原则(Single Responsibility Principle, SRP)**:一个类或模块应该只有一个引起它变化的原因。这意味着每个类应...

    JAVA设计模式-原则和23种设计模式归纳总结

    本资源首先介绍了设计模式的六大原则,包括单一责任原则、开闭原则、里氏替换原则、接口隔离原则、合成复用原则和最少知道原则。然后,资源对23种设计模式进行了分类和总结,包括创建型模式、结构型模式和行为型模式...

    JAVA的23种设计模式---前置:6大基本原则.mhtml

    Java23种设计模式最牛逼的例子

    JAVA设计模式--程序设计--反射--注解--泛型

    Java设计模式、程序设计、反射、注解和泛型是Java开发中的核心概念,它们各自在不同的场景下发挥着重要作用,构建出高效、可维护的软件系统。 首先,Java设计模式是面向对象编程中的一种最佳实践,是解决常见问题的...

    24种设计模式介绍与6大设计原则.pdf

    24种设计模式介绍与6大设计原则.pdf 24种设计模式介绍与6大设计原则.pdf 最好的24种设计模式介绍与6大设计原则.pdf

    设计模式-王翔 全本

    《设计模式-王翔 全本》是一本深入探讨软件设计模式的重要著作,作者王翔在书中详尽地阐述了设计模式的理论基础与实践应用。设计模式是软件工程中的重要概念,它代表了在特定情境下,经过时间检验、可复用的解决方案...

    java的24种设计模式介绍与6大设计原则

    ### Java的24种设计模式介绍与6大设计原则 #### 第一部分:设计模式概览 设计模式是在软件设计过程中经过验证的解决方案,用于解决在特定情境下出现的设计问题。这些模式提供了一种通用的方式,使得开发人员能够...

    自定义控件 - 设计模式 - 良好设计 - ViewPager

    1. **组合模式**:组合模式允许我们将多个小的组件组合成一个大的、复杂的结构。在自定义ViewPager中,我们可能需要将多个子视图组合起来,使得用户可以滑动浏览这些视图。组合模式可以帮助我们清晰地管理这些子视图...

    设计模式精解-GoF 23种设计模式解析附C++实现源码

    GoF(Gang of Four)所提出的23种设计模式,被认为是面向对象编程中最核心的设计原则之一。这些模式可以帮助开发者解决常见的编程问题,并提高代码的可复用性和可维护性。 #### 创建型模式 创建型模式关注的是对象...

Global site tag (gtag.js) - Google Analytics