面向对象的设计原则

1.单一职责原则:
(1)定义:对于一个类,应该仅有一个引起它变化的原因
(2)具体表现:如果一个类承担的职责太多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或则抑制
完成其它职责的能力,这种耦合会导致脆弱的设计,当变化发生时,设计会遭到意想不到的破坏。比如方块游戏
可以设计俩个类,一个是窗体类的变化,一个是游戏逻辑类,这样当换界面时我们的逻辑类还是可以复用的。
(3)判断依据:软件设计就是发现职责并把那些职责相互分离,如何判断是否应该分离的依据是,如果能够想到多于
一个动机去改变这个类,那么这个类就有多于一个的职责。
(4)好处:易维护,易扩展,易复用,灵活多变

2.开放-封闭原则(开闭原则):
(1)定义:软件实体(类,模块,实体)应该可以扩展,但是不可修改,即对于扩展是开放的,对修改是封闭的
(2)作用:是面对需求的改变系统可以保持相对的稳定,可以第一个版本的基础上不断推出新的版本,要想
易维护又不容易出现问题,就需要多扩展,少修改
(3)原则:无论模块是多么的封闭,都会存在一些无法对之封闭的变化,既然不可以完全封闭,设计人员必须
对他设计的模块应该对那些变化封闭做出选择,当发生变化时,构造抽象来隔离这些变化,
(4)主体思路:面对需求,对程序的改动是通过增加新代码进行的,而不是修改现有的代码,例如:四则运算的编写
(5)准则:开发人员应该仅对程序中呈现出频繁变化的那部分做出抽象,然而对于程序中的每一部分都刻意的进行
抽象不是一个好主意,拒绝不成熟的抽象

3.依赖倒转原则:
(1)定义:高层模块不应该依赖底层模块,俩个都应该依赖抽象;抽象不应该依赖细节,细节应该依赖抽象(即针对接口编程,不要对实现编程)
(2)面向过程一般是将常用操作函数,在需要的时候调用这些函数即可,即高层模块依赖于低层模块,当我们需要复用高层模块时,而高层模块与底层模块特定的依赖,使的我们的高层模块不能被复用

4.里氏替换原则:
(1)定义:子类型必须能替换掉他们的父类型,即父类都可以替换为它的子类
(2)继承复用的原则:只有当子类可以替换掉父类,软件功能不受到影响时,父类才能真正被复用,而子类也可以在父类的基础上增加新的行为
(3)可扩展的本质:由于子类型的可替换性使的使用父类类型的模块在无需修改的情况下就可以扩展
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值