代码重构之单一职责原则在实际中使用
2015-04-19 15:51
162 查看
单一职责原则:Single Responsibility Principle,以下举例说明我在代码重构方面对单一职责原则的使用。
以上是我在工作中对单一职责的理解和使用,在此抛砖引玉,欢迎斧正批评。
1、单行代码职责单一
private double GetSubtotalAmount(doube singlePrice,int productCount) { return singlePrice*productCount; }上文中的return语句行代码职责不单一,将其改为:
double subtotalAmount=singlePrice*productCount; return subtotalAmount;
2、单个变量职责单一
private string GetFirstName(string name) { name = name.Substring(0, 6); return name; }上文中的参数变量name被当作返回值使用,改为:
string firstName= name.Substring(0, 6); return firstName;
3、方法职责单一
private void OnPageLoad() { LoadCountryData(); } private void LoadCountryData() { //... Load Data //Set Item Index=0; }将上文中的注释部分//Set Item Index=0提取为一个方法:
private void SetCountryListIndex(int countryIndex) { //Set Item Index=0; }这样在OnPageLoad里面改为
private void OnPageLoad() { LoadCountryData(); SetCountryListIndex(0); }
4、类或接口或结构体职责单一,以类为例说明
class UserInfor { public string Name { get; set; } public int Age { get; set; } public string Address { get; set; } public void UpdateAddress(string newAddress) { } }可改为:
class UserInfor { public string Name { get; set; } public int Age { get; set; } public string Address { get; set; } } class UserBehavior { public void UpdateAddress(UserInfor user) { } }
5、模块职责单一
比如一个系统,有人员基本信息模块、考勤模块、工资管理模块,这三块之间相互独立又有关联,考勤和工资都要具体到每个人,各自分工职责很清楚,而且各模块职责单一。以上是我在工作中对单一职责的理解和使用,在此抛砖引玉,欢迎斧正批评。
相关文章推荐
- [代码重构]利用单一职责原则(SRP)封装函数
- 设计中的微创手术――使用重构原则消灭重复代码
- 最长代码有多长:不符[单一职责原则(SRP)]的常见设计
- 大话重构 之 职责单一原则真的简单吗
- 设计模式之单一职责原则(iOS开发,代码用Objective-C展示)
- 面向对象六大原则之单一职责原则在Android实际开发场景中的运用(一)
- Atitit 依赖管理之道 1. 概念 依赖管理,是指在什么地方以什么形式引入外部代码。 1 1.1.1. 理解模块化和依赖管理: 1 1.2. 依赖管理,有三个层面。 单一职责原则,协议对象引用,
- Atitit 依赖管理之道 1. 概念 依赖管理,是指在什么地方以什么形式引入外部代码。 1 1.1.1. 理解模块化和依赖管理: 1 1.2. 依赖管理,有三个层面。 单一职责原则,协议对象引用,
- 编写直观的代码——单一职责原则
- 论单一职责原则的使用场景
- 码农小汪-设计模式之-简单工厂模式 单一职责原则 重用代码
- 设计模式之禅-学习笔记 之 第一章:单一职责原则
- 面向对象的六大设计原则 (一):单一职责
- 【转】设计模式六大原则(1):单一职责原则
- 6大设计原则(一)---单一职责原则
- 面向对象六大原则(一):单一职责原则
- 单一职责原则
- 设计模式:单一职责原则
- 面向对象设计原则---单一职责原则
- 设计模式之单一职责原则