1.策略模式(Strategy Pattern)是一种比较简单的模式,也叫做政策模式(PolicyPattern). 定义如下: Define a family of algorithms,encapsulate each one,and make them interchangeable. (定义一组算法,将每个算法都封装起来,并且使它们之间可以互换.) 策略模式的通用类图如下所示: 策略模式的三个角色: ● Context 封装角色 它也
重构没有固定的形式,多年来我使用过不同的版本,并且我敢打赌不同的人也会有不同的版本. 该重构适用于这样的场景:switch语句块很大,并且会随时引入新的判断条件.这时,最好使用策略模式将每个条件封装到单独的类中.实现策略模式的方式是很多的.我在这里介绍的策略重构使用的是字典策略,这么做的好处是调用者不必修改原来的代码. public class ClientCode { public double CalculateShipping() { ShippingInfo shippingInfo =
http://www.codeproject.com/Articles/18222/Provider-Pattern Introduction Provider pattern is one of the most interesting features that Microsoft introduced in .NET 2. 提供者模式,是微软在.net2.0中介绍的最有趣的功能.A lot of features including membership providers, roles
在公司负责的就是订单取消业务,老系统中各种类型订单取消都是通过if else 判断不同的订单类型进行不同的逻辑.在经历老系统的折磨和产品需求的不断变更,决定进行一次大的重构:消灭 if else. 接下来就向大家介绍下是如何消灭 if else. 1. if else模式 @Service public class CancelOrderService { public void process(OrderDTO orderDTO) { int serviceType = orderDTO.ge