OOP 思想 和 设计原则 及24种设计模式

Posted hzkj

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OOP 思想 和 设计原则 及24种设计模式相关的知识,希望对你有一定的参考价值。

oop思想:封装、继承、多态            把组件实现和接口分开,并且让组件具有多态性
 
    面向对象编程是一种解决软件复用的设计和编程方法,这种方法把软件中相近相似的操作逻辑和操作应用数据、状态以类的形式描述出来,以对象实例的形式在软件系统中复用,以达到提高软件开发效率的作用。
    
封装: 封装可以使类具有独立性和隔离性;保证类的高内聚。只暴露给类外部或子类必须的属性和操作。
 
继承:对现有类的一种复用机制。一个类如果继承现有的类,则这个类将拥有被继承类的所有菲斯有特性(属性和操作)。这里指的继承包含:类的继承和接口的实现。
 
多态:多态是在继承的基础上实现的。多态的三个要素:继承、重写和父类引用指向子类对象。父类引用指向不同的子类对象时,调用相同的方法,呈现出不同的行为;几十类多态特性。多态可以分成编译时多态和运行时多态。
 
 
 
oop 五大设计原则(SOLID原则)    外加  迪米特法则  和  组合优于继承原则(合成复用原则):
一、单一职责原则
        单一职责有2个含义,一个是避免相同的职责分散到不同的类中,另一个是避免一个类承担太多职责。减少类的耦合度,提高类的复用性。
 
二、接口隔离原则
    表明客户端不应该被强迫实现一些他们不会使用的接口,应该把胖接口中的方法分组,然后用多个接口代替它,每个接口服务于一个子模块。简单说,就是使用多个专门的接口比使用单个接口好很多。
    该原则观点如下:
        1、一个类对另外一个类的依赖性应当是建立在最小的接口上
        2、客户端程序不应该依赖它不需要的接口方法。
 
三、开放-封闭原则
    open模块的行为必须是开放的、支持扩展的,而不是僵化的。
    closed在对模块的功能进行扩展时,不应该影响或大规模影响已有的程序模块。一句话概括:一个模块在扩展性方面应该是开放的而在更改性方面应该是封闭的。
    核心思想就是对抽象编程,而不对具体编程。
 
四、替换原则
    子类型必须能够替换掉他们的父类型、并出现在父类能够出现的任何地方。
    主要针对继承的设计原则
    1、父类的方法都要在子类中实现或者重写,并且派生类只实现其抽象类中生命的方法,而不应当给出多余的,方法定义或实现。
    2、在客户端程序中只应该使用父类对象而不应当直接使用子类对象,这样可以实现运行期间绑定。
 
五、依赖倒置原则
    上层模块不应该依赖于下层模块,他们共同依赖于一个抽象(父类不能依赖子类,他们都要一类抽象类)
    抽象不能依赖于具体,具体应该要依赖于抽象
 
 
24种设计模式(gof23+1)
        创建型模式:
            1、简单工厂模式(不包含在gof23中)
            2、工厂模式
            3、抽象工厂模式
            4、单例模式
            5、原型模式
            6、创建者模式
        结构型模式:
            1、组合模式
            2、装饰者模式
            3、外观模式
            4、适配器模式
            5、代理模式
            6、享元模式
            7、桥接模式
        行为型模式
            1、观察者模式
            2、策略者模式
            3、状态模式
            4、中介模式
            5、模板方法
            6、命令模式
            7、备忘录模式
            8、访问者模式
            9、解释器模式
            10、迭代器模式
            11、职责链模式
 

以上是关于OOP 思想 和 设计原则 及24种设计模式的主要内容,如果未能解决你的问题,请参考以下文章

面向对象编程思想(OOP)

面向对象编程思想(OOP)

面向对象编程思想(OOP)(转发)

设计模式的概念以及面向对象设计原则

GoF 2323种设计模式与OOP七大原则概述

OOP思想