美文网首页
设计模式在项目中使用的一些思考

设计模式在项目中使用的一些思考

作者: Moine0828 | 来源:发表于2018-12-04 23:54 被阅读5次

搬运自我的博客园,原文链接:https://www.cnblogs.com/Moine/p/8120580.html

17年在网龙工作时写的,很短。原文如下:

项目中service类成为上帝类,所有工作都在一个类中完成已经成为了一个相当棘手的问题。这样的高耦合场景使得代码难以维护,难以阅读,在需求变更时修改起来极为不方便,几乎是每一次变更就需要重构。

学习设计模式可以尝试在项目中降低耦合,抽象业务场景,从而使得项目更好的扩展和维护。

策略模式:定义一系列的算法(策略),这些策略所完成的工作相同,只是提供了不同的实现。

项目中有这样一个场景:对于国际化的资源,每一个code对应一个json文件,json文件存储了该对象的国际化资源(实际上是同一个code下每一种语言对应了一个文件,每个文件中的Key是相同的,value则是对应了不同语言的翻译)。这样的前提下,需求分别是[需要导出某一语言和中文对比的情况下,value值为空的所有内容],以及[和某一语言对比的情况下,value所对应的校对列为false的所有内容]。数据库中以key为维度存储了所有文件资源的内容,所以两个场景实际上所作的工作是同一件,即从库中取出符合条件的字段。

因此策略模式在这种情景下可以尝试使用。将两种场景抽象成两种算法,根据客户端的选择来判断算法的使用并返回计算结果。将纯数据运算从service中剥离出来,方便扩展,并且大大缩减了service类的内容,降低耦合。

相关文章

网友评论

      本文标题:设计模式在项目中使用的一些思考

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