面向对象设计原则-单一责任原则- 感知感觉

1.单一责任原则

类:

    理想状态下,一个类应该只扮演一个角色,表示一个东西,我们不应该表示一个东西又是a,又是b。称之为理想状态,是因为实际过程中,考虑到一种平衡,难免会有一个类扮演多个角色。但是类的单一职责原则应该是我们所追求的方向。


方法:

    一个方法应该只做一件很明确的事,而且方法名要达意。


变量:

     一变量的存在应该是为了记录某一个意义的值。


接口:

    实现一个接口通常用来表示拥有某方面的能力,我们应该保证行为相关的方法封装在一起,每个接口都应该职责明确单一。


不保证单一责任的缺点

1.无形中增加了一个类里的代码数量与代码的复杂度。

2.包含的因素越多,被影响的几率越大,需要修改的概率也越大,因为类很大,又会导致维护的成本。(我们本来可以有多个类,需要修改的时候只是修改一个类)

3.设计混乱,类扮演多个角色,可读性差。

5.代码耦合严重,维护性差。


瑞士军刀与单一职责

       跟我们的单一职责原则有很大的冲突,瑞士军刀能够提供各式各样的刀,扮演了多种角色。而瑞士军刀存在的意义是他是一个刀的集合,给我们节省了携带,购买其他各种刀具的成本。我们可以用瑞士军刀去切一个西瓜,但是如果我们有一把真正的水果刀的时候,我们还是喜欢,习惯用水果刀去切。

      与军刀可以节约大量成本不同,在代码中,我们创建多个类,和创建一个类的成本根本无所谓。所以我们在创建类,方法的时候,无所谓成本,最好去根据角色与功能创建。我们喜欢水果刀,因为水果刀专业,简单,易操作易使用,其实,类也是这样。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值