OOP设计原则

1、单一职责原则

一个类或者模块,应该仅有一个引起其变化的原因。如果一个类承担的职责过多就等于将这些职责耦合在一起,一个职责的变化就有可能影响其他职责的能力。
缺点:会造成类的数量增多。
破坏了封装的原则:若将目标类中将含有私有数据访问逻辑的业务行为分离出去,则会造成外部类或方法访问目标类的私有数据,破坏封装的特性。
例子:比如在我们日常的使用手机银行支付的场景中,它需要用户登陆系统并且用户登陆成功后才能进行支付的业务。若我们将这些业务都放在System类中时,那么这些业务其中任何一个需求发生变化时,我们都需要来修改System类 ,这将会使得系统的稳定性降低。我们完全可以将登陆行为封装在User类中,将支付行为封装在Pay类中,这样使得每一个类仅有一个引起其变化的原因,进而使得系统稳定性提高。

2、开放封闭原则

是说软件实体(类、模块、函数)应该可以扩展,但不可以修改。其特征为:对于扩展是开放的,对于更改是封闭的。
例子:比如我们经常遇到让我们去实现一个简单的计算器程序。我们给出了Operation类,这个类实现了加、减、乘、除后等简单的运算,之后老板又提出让我们实现幂运算的操作,接着我们需要去修改Operation。过了不久老板又提出实现开方的运算,那有需要我们去修改Operation类。那么每当boss提出一个需求时,我们就得不断的去修改Operation类,着就违背了开放封闭的原则。一个可行的方案是,我们定义Opeation接口,在这个接口中给出getResult方法。让不同的运算规则去实现该接口,这样每当需求来时,我们不再去修改原先的Operation类,而是给该运算规则生成新的类,该类实现Operation接口就行。

3、依赖倒转原则

高层模块不应该依赖低层模块,两个都应该依赖抽象。
抽象不依赖细节,细节应该依赖抽象。
换句话说就是面向接口编程。
比如,我们在业务场景里需要调用支付订单时,我们在业务中直

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值