面向对象原则

单一职责原则:就一个类而言,应该仅有一个引起它变化的原因。(没多少个人理解)

开闭原则:软件实体(类、模块、函数等等)应该可以扩展的,但是不可修改。进公司不久时,发现公司项目里有个方法被很多地方用到,但我当时想修改一下,以便达到我当时的某个目的。尽管我的修改不会对其他的地方造成错误影响(很小的修改),幸好当时还是机智的跟导师沟通了下,瞬间就被教育:应该另外写一个公开的方法,而不应该修改原有的。

里氏替换原则:子类必须能够替换掉它们的父类。 这个我感觉是oop的基础啊,谈不上原则。子类拥有父类的属性,所以能替代父类。

依赖倒置原则:抽象不应该依赖细节,细节应该依赖于抽象。桥梁模式--很典型的代表。

接口隔离原则:多个专用接口优于一个单一的通用接口。其意思:不要将所有的方法都添加到一个接口中,避免被迫实现某些不需要的方法。对于这种情况,有一种很常见的设计模式:默认适配器,抽出一个父类以空方法的形式实现这些接口,然后子类可以挑选自己需要的方法重写达到目的。

时间: 2024-08-02 10:00:52

面向对象原则的相关文章

Object-Oriented Principle(面向对象原则)

面向对象的原则: 开闭原则(Open Closed Principle,OCP) 里氏代换原则(Liskov Substitution Principle,LSP) 依赖倒转原则(Dependency Inversion Principle,DIP) 接口隔离原则(Interface Segregation Principle,ISP) 合成/聚合复用原则(Composite/Aggregate Reuse Principle,CARP) 最小知识原则(Principle of Least Kn

面向对象原则和特征

一.五个设计原则: 单一职责原则.开放封闭原则.依赖倒置原则.接口隔离原则和Liskov(里氏)替换原则. 单一职责原则 对于单一职责原则,其核心思想为:一个类,最好只做一件事,只有一个引起它的变化.单一职责原则可以看做是低耦合.高内聚在面向对象原则上的引申,将职责定义为引起变化的原因,以提高内聚性来减少引起变化的原因.职责过多,可能引起它变化的原因就越多,这将导致职责依赖,相互之间就产生影响,从而大大损伤其内聚性和耦合度.通常意义下的单一职责,就是指只有一种单一功能,不要为类实现过多的功能点,

面向对象原则之一 依赖倒置原则

原文:面向对象原则之一 依赖倒置原则 前言 面向对象有人分为五大原则,分别为单一职责原则.开放封闭原则.依赖倒置原则.接口隔离原则.里氏替换原则. 也有人分为六大原则,分别为单一职责原则.开放封闭原则.依赖倒置原则.接口隔离原则.里氏替换原则.迪米特法则. 现在我们来介绍依赖倒置原则 依赖倒置原则 1)概念 a.高层模块不应该依赖于底层模块,两者应该依赖于其抽象. b.抽象不应该依赖具体实现,具体实现应该依赖抽象. 上面2点是依赖倒置原则的概念,也是核心.主要是说模块之间不要依赖具体实现,依赖接

面向对象原则之一 开放封闭原则(开闭原则)

原文:面向对象原则之一 开放封闭原则(开闭原则) 前言 面向对象有人分为五大原则,分别为单一职责原则.开放封闭原则.依赖倒置原则.接口隔离原则.里氏替换原则. 也有人分为六大原则,分别为单一职责原则.开放封闭原则.依赖倒置原则.接口隔离原则.里氏替换原则.迪米特法则. 现在我们来介绍开放封闭原则,也叫开闭原则 开闭原则 1)概念 官方说法是 软件实体(模块.类.函数等)应该可以扩展,但是不可以修改.也就是说软件对扩展开放,对修改关闭. 需要说明的是,对修改关闭不是说软件设计不能做修改,只是尽量不

面向对象原则之一 接口隔离原则

原文:面向对象原则之一 接口隔离原则 前言 面向对象有人分为五大原则,分别为单一职责原则.开放封闭原则.依赖倒置原则.接口隔离原则.里氏替换原则. 也有人分为六大原则,分别为单一职责原则.开放封闭原则.依赖倒置原则.接口隔离原则.里氏替换原则.迪米特法则. 现在我们来介绍接口隔离原则 接口隔离原则 1)概念 客户端不应该依赖它不需要的接口.一个类对另一个类的依赖应该建立在最小的接口上. 怎么理解呢?通俗一点就是说接口尽量细分,把不需要的方法尽量写在2个不同的接口上. 假如我有一个接口Interf

面向对象原则之一 里氏替换原则

原文:面向对象原则之一 里氏替换原则 前言 面向对象有人分为五大原则,分别为单一职责原则.开放封闭原则.依赖倒置原则.接口隔离原则.里氏替换原则. 也有人分为六大原则,分别为单一职责原则.开放封闭原则.依赖倒置原则.接口隔离原则.里氏替换原则.迪米特法则. 现在我们来介绍里氏替换原则 里氏替换原则 1)概念 其概念是子类对象能够替换其基类对象被使用. 听上面的概念好像很简单,不就是父类实现的方法就能被子类实现,父类在外部的调用,替换成子类也可以嘛. 这么理解就错了,这里的概念虽然说得简单,但是其

oo面向对象原则

1.单一职责原则 一个类,最好只做一件事,只有一个引起他变化的原因否则就应该考虑重构. 2.开放封闭原则 软件实体应该是可扩展的,而不是可修改的.也就是说对扩展开放,对修改封闭.主要体现在两个方面: 对扩展开放,意味着有新的需求或变化时,可以对现有的代码进行扩展,以适应新的情况. 对修改封闭,意味着类一单设计完成,就可以独立完成其工作,而不是对类进行任何修改. 封装变化,是实现开放封闭原则的重要手段,对经常发生变化的状态一般将其封装为一个抽象,但是拒绝滥用抽象,只将经常变化的部分进行抽象. 3.

面向对象原则之一 迪米特法则

前言 面向对象有人分为五大原则,分别为单一职责原则.开放封闭原则.依赖倒置原则.接口隔离原则.里氏替换原则. 也有人分为六大原则,分别为单一职责原则.开放封闭原则.依赖倒置原则.接口隔离原则.里氏替换原则.迪米特法则. 现在我们来介绍迪米特法则 迪米特法则 1)概念 其法则又叫最少知道法则.从名字上就能知道,类与类之间应该是最少知道的,应当加多一个类来辅助类与类之间的联系. 其概念是一个软件实体应当尽可能少的与其他实体发生相互作用,每一个软件单位对其他的单位都只有最少的知识. 2)说道理 为什么

面向对象的5个基本设计原则

面向对象的3个基本要素:封装.继承.多态 面向对象的5个基本设计原则: 单一职责原则(Single-Resposibility Principle) 其核心思想为:一个类,最好仅仅做一件事,仅仅有一个引起它的变化.单一职责原则能够看做是低耦合.高内聚在面向对象原则上的引申,将职责定义为引起变化的原因,以提高内聚性来降低引起变化的原因.职责过多,可能引起它变化的原因就越多,这将导致职责依赖,相互之间就产生影响,从而大大损伤其内聚性和耦合度.通常意义下的单一职责,就是指仅仅有一种单一功能,不要为类实