美文网首页《设计模式专栏》
《设计模式之策略模式-论代码架构重要性》

《设计模式之策略模式-论代码架构重要性》

作者: 不够果断是种癌 | 来源:发表于2018-09-17 15:32 被阅读27次

    注意:本文参考于《大话设计模式》以及网上众多博客仅供自我学习。

    编程是一门技术,更是一门艺术,不能满足于代码无错就OK,要想着结构是否清晰,是否容易扩展,是否容易维护。并且设计的模式的学习,同样也是UML的图的学习。

    1.例子还是《大话设计模式》中的例子。

    需求:写商城收银软件,2个文本输入框对应商品单价及数量,一个表视图对应商品的记录清单。一个文本框对应最后显示的总额。2个按钮分别对应确定和重置功能。

    后期变动一:商场做活动要打折。打3折,满300减100,等。

    后期变动二:商场做完恢复打折。

    后期变动三:又做新活动需要打5折和满500送200的促销活动同时进行。

    后期变动四:增加促销阶段,满100元赠送10点积分,积分达到一定的数量,可以领取奖品。

    大家可以手动写写试试。

    面向对象的编程,并不是类越多越好,类的划分是为了封装,但分类的基础是抽象,具有相同属性和功能的抽象类集合才是类。

    接下来,我们这边按照功能进行划分。于是也就诞生了一个简单工厂的实现。由此形成了

    一个现金收取工厂。这个在我们OC里面可以定义为一个方法,需要传进来一个枚举的条件,方便后期拓展。里面针对条件可以采用swich去进行判断最后返回值。每个条件判断里面,我们这边采用一个类,这个类就为打折类,里面主要由各种方法构成。

    策略模式:它定义了算法家族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化的变化,不会影响到使用算法的客户。

    相关文章

      网友评论

        本文标题:《设计模式之策略模式-论代码架构重要性》

        本文链接:https://www.haomeiwen.com/subject/wmjlnftx.html