《设计模式之禅》学习笔记(一)

第1章 单一职责原则

单一职责原则的英文名称是Single Responsibility Principle,简称是SRP。这个原则存在争议之处在对职责的定义,什么是类的职责,以及怎么划分类的职责。

RBAC模式(Role-Based Access Control,基于角色的访问控制,通过分配和取消角色来完成用户权限的授予和取消,使动作主体(用户)与资源的行为(权限)分离)。

把用户的信息抽取成一个BO(Business Object, 业务对象),把行为抽取成一个Biz(Business Logic,业务逻辑)。

SRP的原话解释:

There should never be more than one reason for a class to change.

单一职责原则要求一个接口或类只有一个原因引起变化,也就是一个接口或类只有一个职责,他就负责一件事。一个职责就是一个接口。

对于接口,我们在设计的时候一定要做到单一,但是对于实现类就需要多方面考虑了,可能不会满足单一职责原则。

单一职责适用于接口、类,同时也适用于方法。一个方法尽可能做一件事情。

类的单一职责受到非常多因素的制约,纯理论地来讲,这个原则是非常优秀的,但是现实有现实的难处,你必须去考虑项目工期、成本、人员技术水平、硬件情况、网络情况甚至有时候还要考虑政府政策、垄断协议等因素。接口一定要做到单一职责,类的设计尽量做到只有一个原因引起变化。

posted @ 2012-12-27 16:02  qwertWZ  阅读(1100)  评论(0编辑  收藏  举报