在平时的工作中,我们总是能看到以下类似的代码。比如一个简单的表单检测功能,分别对各个代码模块进行检测,也清晰明了。但却在不知不觉中创建了很多全局变量,而且存在被团队中的小朋友覆盖的风险,接下来看看如何进行小小的改动
行为代码
单例模式:即对某一类属性和方法进行统一的封装,达到井然有序的模式。
我们只需要将这类检测表单功能的代码都收集到一个变量中,统一对外暴露,只需要知道这个变量就可以通过点语法得到自己想要的方法,而不需要记住那么多的方法名称。修改代码如下
复制到一个变量中
使用就如下面所示,但发现Check被使用的好几遍,还能不能接着优化呢?
依次调用
通过观察,我们会发现他们都被封装到一个变量中,那this是不是都指向同一个变量呢?我们可以在每一个方法中返回this,修改如下
返回this
测试调用是
链式调用
此时的代码不仅井井有条,调用也能链式调用。
到此,我们来思考一个问题?这到家都调用同一个变量,如果有人重写了某一个变量里面的方法检查规整,是不是其他地方也会受到影响呢?
答案是会的,那如何解决呢?
解决方法就是,不直接对外暴露这个变量,而是通过方法返回,此时每一个调用者得到检查方法,怎么变更都不会影响到其他用户
返回检测对象
总结一下:设计模式的使用更多的是为了让代码更加清晰可读,也通过好的设计模式可以解决很多复杂的问题。
持续更新设计模式,通过简单的小案例带你一点点了解设计模式