摘要:近期手头接了一个智能硬件相关的项目,本来是想等自己更新完设计模式系列,然后好好总结一番的。但是正好碰到今天下大雨,正好碰到今天这个时候没有什么事情,然后正好碰到自己这个时候对于这个项目有一些吐槽的地方。
阅读全文
摘要:在这篇博客里面,笔者想要跟大家分享一款比较简单的设计模式-原型模式,说实话刚刚看到这个名字的时候,笔者也很奇怪到底什么才是原型模式呢?是不是提前设计好一个模板,然后按照模板去生产新的对象呢?其实这种理解已经很接近原型模式的定义了,但是在java里面对于这种模式的支持已经很到位了,说白了就是clone,但是这里面还有一些小知识需要注意。
阅读全文
摘要:这篇博客本来是帮朋友的教学网站写的系列课程,但是因为格式、案例等原因要让我重新修改,我这个人最烦的就是这些条条框框。所以一气之下就没有发出去,索性就直接写在自己的博客里,总感觉还是这样来的舒服、随意。
阅读全文
摘要:今天这篇博客笔者将会写一种特别重要的设计模式-代理模式,其实在23中设计模式里面,代理模式的原型应该来说属于比较简单。但是真正要扩展起来那么它的用处还是非常大的,知识面也非常的广。好了,闲话少说让我们直接进入今天的主题吧!
阅读全文
摘要:下面跟大家分享一个笔者前段时间在项目里面遇到的一个问题场景:售货机大家都应该听说过,在售货机上面都有一个可以收取硬币或者纸币的货币器(后面笔者为了代码陈述方便,会将货币器拆分为硬币器和纸币器),别看我们在购买一瓶饮料的时候,只需要简简单单的投入3-5块钱就可以了。其实在硬件层面它还是需要做很多的事情,首先打开串口(open),其次发送重置指令(reset),再其次发送使能指令(enable),有的货币器可能还需要发送查询指令(select),在整个过程中我们还需要开启一个轮训线程监听用户的投币状态(startThread)。就上面这些流程,如果我们使用那种线条型的代码去做的话,我们将会看到代码非常不易维护。假如现在我们来从建造者模式的角度重新规划整个代码结构的话,我们应该怎么写呢?
阅读全文
摘要:今天这篇博客将向大家介绍一种新的设计模式,可能该设计模式大家以前在项目里面经常用到过,但是却不知道具体是叫什么名字。我们现在看看模板方法模式的定义是怎样的:定义一个操作中的算法框架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。看着好像挺绕口的,那么下面笔者将通过一个例子来具体的分析一下。
阅读全文
摘要:首先我们来看看两者的具体定义是怎么说的,工厂模式的定义为:定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂方法使一个类的实例化延迟到其子类。抽象工厂模式的定义为:为创建一组相关或相互依赖的对象提供一个接口,而且无须指定它们的具体类。
阅读全文