学习随笔(设计模式:策略模式)
内容:
今天学习了设计模式中的策略模式。
1.策略模式是一种定义一系列算法的方法,这些算法都是相同的工作,只是实现不同,通过以相同的方式调用不同的算法,减少算法之间的耦合度。
2.这种设计模式可以用来封装任何类型的规则,需求中在不同时间应用不同的业务规则,就可以考虑使用策略模式来处理。
收获:
1.当遇到干同一件事,根据不同环境使用不同规则的时候,就上策略模式
2.将不同的的规则算法处理分析出其中的公共功能,抽象出一个基类
3.将不同规则的算法处理根据自己的运算特点,派生出该基类的派生类
4.通过之前学习过的简单工厂设计模式,封装一个工厂类,该类中可以通过传参实例化算法对象,来确定到底使用何种算法,最终解决问题
感悟:
我们熟悉的自动化产线中有很多需要加工的工单,对于这些工单需要根据不同的规则来决定谁先加工?谁后加工?也就是所谓的排产,所以这里就可以用到策略模式。
1.先封装一个基类,基类中设计公共功能,就是获得排产工单的顺序列表。
2.再根据不同的规则生成不同的派生类,例如:根据工单优先级排产、根据工单截止期限排产、根据设备空闲率排产等等
3.设计一个工厂类,该类内部通过传参来实例化工单的排产算法类对象
4.这样设计最重要的降低了算法服务的客户端的耦合度,也能方便用户修改算法或者实现算法测试。
示例代码:
有时间的话补充一下。

浙公网安备 33010602011771号