擎天哥as3教程系列第五回——面向对象设计原则融汇贯通

OOD是面向对象设计。一个好的应用一定要有一个好的设计。

下面对面向对象设计原则有的是我自己的理解,有的是在网上粘贴的。

  单一职责原则

“就一个类而言,应该只专注做一件事和仅有一个引起变化的原因。“这就是单一职责原则

此原则,是为了保证对象的高内聚,低粒度,最大程度的复用。

一个对象有太多的职责的时候,如果两外一个对象需要某一职责,就不得不把这个对象全不包含进来,这就造成了代码浪费。如果都分成单一职责,如果我们需要组合一些职能的时候,只需把他们包含进来就ok了,保证了高扩展性,这就保证了高内聚。同时又降低了类与类之间的耦合度,保证了低粒度。

单一职责并不是极端地要求我们只能为对象定义一个职责,而是利用极端的表述方式强调重点,在定义对象职责时要考虑职责与对象之间的所属关系。我们保证对象只做一件事。如果对象有多个职责是该对象独有的,既该职责不需要为其他对象所调用的,既可以归结为单一职责的范畴。比如一个与媒体播放相关的要求,他有 stopplay方法。这些方法从职责的角度来讲是内聚的,所以完全符合单一职责,专注做一件事的要求。如果需要有下载的功能,这就又是一个职责了,需要另外写一个类。

我认为单一职责原则不仅适用于对象之间,也适用于对象中的方法之中。对象中的方法尽量实现一个功能,比如我要灰掉并禁用鼠标事件,这就是两个功能,如果写到一块的话,那么当我想只实现把它灰掉的功能时就要把禁用鼠标的代码给包含进来,不利于复用,扩展。

 

其实,用一句来总结就是“一切皆对象“。把大的化小,复杂的简单化。分的越细越好。

 接口隔离原则

         接口隔离跟职责单一有异曲同工之妙,专注做一件事。

比如我一个类里面有很多接口,可以供abc使用,但abc都只用到了其中的一些接口,剩下的用不到。你说这是不是浪费。如果我把这些接口拆分成多个接口的话,那么我想使用那个接口的时候,只需要实现其中某些接口就ok了。就不会产生过多的

冗余代码。

接口隔离保证了对象的高内聚,低粒度,强复用。

   开闭原则

          开闭原则主要是对修改关闭,对扩展开放。

这要怎么做呢,这就要求我们在设计模块的时候底层尽可能的更抽象。就比如说让所有的ui面板都实现同一个接口,ui面板管理器统一管理所有ui。当我们需要添加一个ui面板的时候,只需要实现这个接口就行了。然后再在ui管理器哪里注册管理。

  里氏代换原则。

         说句简单的就是一个类的父类或者接口类可以调用这个类的公共属性和方法。

  依赖倒置原则

         高层模块不依赖底层模块,两者都依赖抽象

         抽象不依赖细节,细节应该依赖于抽象。

         主要还是提倡面向抽象,面向接口编程。

依赖倒置原则的几大规则

       1、每个类尽量都有接口和抽象类,或者抽象类和接口都有。

       2、变量的表面类型尽量是接口或者是抽象类。

3、任何类都不应该从具体类派生。(但是在做二次开发的时候,我们无法获得高层代码的时候例外),规则不是绝对的。

       4、尽量不要覆写基类已经实现好的方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值