android:Java之策略模式

发文初衷:为什么突发奇想要对Java的设计模式做研究,首先由于本人以前对设计模式概念比较模糊,自从本人改过自新之后,决定对以前所以模棱两可的东西,都会进行一一的系统详细的学习。正巧公司最近项目当中遇到了设计模式中的策略模式,所以本人写下自己的心得的思考。

个人观点:I Think  所有的设计模式都在实际的项目开发中由大牛么,通过不断的向上抽取,最终得到一种比较好的方式来使我们的开发更加的方便。

模式的应用场景:百货商场的收银系统,由于商场都会有自己的会员制度,所以每一件商品针对不同的用户群体都会有相应的价格。本文举例的角色用户:普通用户,会员,超级会员,在针对每一个商品的计算方式都大不相同,也许有人会说,那这个还不简单,编写一个函数,通过参数传递的不同做不同的计算。你可能会这样去做,但是在实际的业务逻辑当中,也许上面的三个角色并不是你想想的只是简单的计算而已。也许会有给会员积分,也许会有将不同的用户群体以不同的方式进行存储以便以后,针对不同用户进行精准推送。当然这些问题都可以通过最基本的  i f ----else   的方式进行解决,但是想过没有如果另外一个人来对你的业务进行维护。别人可能看的都会比较头大。那么策略模式是一种很好解决i f ---else这种传统的方式。好不多说,看代码

这是定义的一个接口,里面只是一个简单的计算方法,但是在实际的业务逻辑当中会有其他的操作,具体应按照业务逻辑而定

下面分别被:普通用户、会员、超级会员继承

这样当所有的业务逻辑变的复杂的时候,我们只需要在相应的角色用户中进行相应的修改,或者添加相应的业务逻辑,那么当下一个人接收你的项目的时候,别人就能会快的熟悉你的代码逻辑以及项目逻辑。让别人快速融入到项目当中。

下面是用户调用:相关类

注:本人是从事android开发,可能有些控件问题只有相应的android coder才能看懂,暂时没有用纯java的方式,在此非常抱歉,

总结:策略模式其实就是if --else的高度抽象升级(个人理解),作为一名有理想的coder,总是会希望自己的东西能够的到别人的认可和被别人快速理解,策略模式是其中一种能够快速让人理解的模式之一。在实际的项目开发中希望大家能根据项目需求,合理的选择好的方式。不管对自己还是他人都是一个帮助和成长,有不同理解的coder希望能听到你们的留言,本人会以最快的方式和大家讨论。最后,喜欢的人,留下你们的点赞,不喜勿喷,谢谢

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,319评论 25 709
  • 这是 八月的尾巴在向我诉说,诉说着时光已飞逝,诉说着年华已不在。然而,就在上个月初,我还觉得自己是最最幸福的女子,...
    小脚马皇后阅读 1,463评论 0 0
  • 这一年,步入而立之年,却发现之前活得好空洞,甚至茫然。 换言之,没有发展我的兴趣,也没有坚持我的梦想,浑浑噩噩走了...
    蜀南枚阅读 2,299评论 0 1
  • 人类的视觉系统绝对算是这个世界上的一个奇迹。考虑如下的手写数字的序列: 大多数人都能轻易的认出这些数字是50419...
    魔法炼金术阅读 5,331评论 0 3
  • 在创建Xcode工程的时候,有几个默认的模板可以选择,比如“Application”里面“Signal View ...
    CZ_iOS阅读 11,917评论 8 41

友情链接更多精彩内容