渣渣兔 发表于 2024-8-16 10:10:45

【4】策略模式

https://i-blog.csdnimg.cn/direct/7f76e24d8c3b47d49a76b48322188607.pnghttps://i-blog.csdnimg.cn/direct/8d98539171084d4b89256398d7bdc66b.png
https://i-blog.csdnimg.cn/direct/13e00710bdd24996bd2123a7ad92b919.png
   如上图所示,如果要参加一个新的货币,那么就必要对类中的Calculate函数进行修改,这违反了封闭开放原则。
https://i-blog.csdnimg.cn/direct/7d010083bbf3439caf0b7a952e74e9be.png
https://i-blog.csdnimg.cn/direct/f705772eea2742588959cb2159f2ac00.png
   上图中的方式更加符合,搞一个抽象类(方法中可以用多态调用),然后每个货币自己是一个类(拥有自己的不同实现)。在上面的这种实现中,如果新参加一个法国货币,那么只必要加一个法国货币的类,并完成自己的实现即可,不必要改变其他任何类。
https://i-blog.csdnimg.cn/direct/6382caf850a04564821d4322351b8559.png
https://i-blog.csdnimg.cn/direct/1b21a2117b2b4b15939040fa5395277c.png
https://i-blog.csdnimg.cn/direct/a2a3f72848f14feea5f642641a6d48c1.png





 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 【4】策略模式