31 天重构学习笔记14. 分离职责
using System.Linq;
namespace LosTechies.DaysOfRefactoring.BreakResponsibilities.Before
{
public class Video
{
public void PayFee(decimal fee)
{
}
public void RentVideo(Video video, Customer customer)
{
customer.Videos.Add(video);
}
public decimal CalculateBalance(Customer customer)
{
returncustomer.LateFees.Sum();
}
}
public class Customer
{
public IList<decimal> LateFees { get; set; }
public IList<Video> Videos { get; set; }
}
}
using System.Linq;
namespace LosTechies.DaysOfRefactoring.BreakResponsibilities.After
{
public class Video
{
public void RentVideo(Video video, Customer customer)
{
customer.Videos.Add(video);
}
}
public class Customer
{
public IList<decimal> LateFees { get; set; }
public IList<Video> Videos { get; set; }
public void PayFee(decimal fee)
{
}
public decimal CalculateBalance(Customer customer)
{
return customer.LateFees.Sum();
}
}
}
31 天重构学习笔记14. 分离职责相关推荐
- 31 天重构学习笔记索引
由于最近在做重构的项目,所以对重构又重新进行了一遍学习和整理,对31天重构最早接触是在2009年10月份,由于当时没有订阅Sean Chambers的blog,所以是在国外的社区上闲逛的时候链接过去的 ...
- 31天重构学习笔记下载
前言 前两天写了一篇程序猿也爱学英语(上),有图有真相的文章,写作那篇文章只是自己一时兴起,或者说是自己的兴趣使然.文中的观点只是自己的学习心得和体会,属一家之言且鉴于本人不是学英语出身,所以也肯定有 ...
- 31 天重构学习笔记5. 提升字段
摘要:由于最近在做重构的项目,所以对重构又重新进行了一遍学习和整理,对31天重构最早接触是在2009年10月份,由于当时没有订阅Sean Chambers的blog,所以是在国外的社区上闲逛的时候链接 ...
- 31 天重构学习笔记28. 为布尔方法命名
摘要:由于最近在做重构的项目,所以对重构又重新进行了一遍学习和整理,对31天重构最早接触是在2009年 10月份,由于当时没有订阅Sean Chambers的blog,所以是在国外的社区上闲逛的时候链 ...
- 31 天重构学习笔记29. 去除中间人对象
摘要:由于最近在做重构的项目,所以对重构又重新进行了一遍学习和整理,对31天重构最早接触是在2009年 10月份,由于当时没有订阅Sean Chambers的blog,所以是在国外的社区上闲逛的时候链 ...
- 31天重构学习笔记3. 提升方法
摘要:由于最近在做重构的项目,所以对重构又重新进行了一遍学习和整理,对31天重构最早接触是在2009年10月份,由于当时没有订阅Sean Chambers的blog,所以是在国外的社区上闲逛的时候链接 ...
- 31 天重构学习笔记9. 提取接口
摘要:由于最近在做重构的项目,所以对重构又重新进行了一遍学习和整理,对31天重构最早接触是在2009年10月份,由于当时没有订阅Sean Chambers的blog,所以是在国外的社区上闲逛的时候链接 ...
- 31 天重构学习笔记26. 避免双重否定
摘要:由于最近在做重构的项目,所以对重构又重新进行了一遍学习和整理,对31天重构最早接触是在2009年10月份,由于当时没有 订阅 Sean Chambers的blog,所以是在国外的社区上闲逛的时候 ...
- 31天重构学习笔记26. 避免双重否定
摘要:由于最近在做重构的项目,所以对重构又重新进行了一遍学习和整理,对31天重构最早接触是在2009年10月份,由于当时没有订阅Sean Chambers的blog,所以是在国外的社区上闲逛的时候链接 ...
最新文章
- DeepMind科学家:AI对战《星际争霸》胜算几何?
- java word模板替换多行_java poi word模板替换段落的换行显示
- PacBio Sequel概述
- java 位掩码_Java位掩码控制权限与()或(|)非(~)、的介绍
- js date 加一天_你不一定了解的js数据类型
- 如何寻找高质量流量日入三百+
- 教你如何迅速秒杀掉:99%的海量数据处理面试题
- java入学测试_OLI 课程 Java入学考试的五道题
- 利用泛型与反射更新实体(ADO.NET Entity Framework)
- Sql2000数据库的备份文件恢复到Sql2005的方法
- dev c 编程语言,devc如何自定义头文件并使用
- oracle 错误 1013,ORA-03113错误解决一例
- 利用VBA批量保护/撤销EXCEL表
- eos java调用命名sql_普元 EOS Platform 7.6 开发命名SQL缓存示例
- 【高等数学】基本求导法则与导数公式
- 微信小程序上传图片到服务器总是失败_微信小程序上传图片到服务器实例
- 南大通用GBase8s 常用SQL语句(150)
- web前端代码开发工具_Web开发人员的有用代码比较工具
- 【Unity3D】Unity3D 软件安装 ( 注册账号并下载 Unity Hub | 安装 Unity Hub | 获取个人版授权 | 中文环境设置 | 安装 Unity3D 编辑器 )
- 【毕业设计/matlab系列】基于区域生长和形态学处理的道路检测实现【含Matlab源码】
热门文章
- nginx 开展对RT5350
- (转)open gl 实例 demo ---vs2005 环境
- 使用消息中间件时,如何保证消息不丢失且仅仅被消费一次
- Struts2中Action的动态调用方法
- SpringCloud创建Eureka Client服务注册
- 开源社区Review代码步骤
- linux下基于源码软件安装的那些事
- 企业微信怎么输入服务器id,系统账号绑定企业微信成员id
- python完全支持面向对象编程思想_面向对象的编程思想和Python的继承和多态,特殊方法,引用计数...
- 字符串匹配(二)——逆向思维 BMH