设计模式系列总结
面向对象设计模式已经写完(工厂与抽象工厂写在了一起),写的时候都是通过自己的理解没有照搬书本,示例代码都是基于Swift语言写的。
Swift是一门出生不久的语言,与C++、Java有相似也有不同,提倡面向协议编程,语法有时候感觉比C++和Java语言要严谨,当然也有时候比较宽松,但毋庸置疑的是,使用一门新语言来写跟书本不一样的设计模式示例代码,对于理解设计模式的本质有着非常好效果,这也是基于设计模式被使用时的宗旨。
设计模式对于现在的理解来说,是项目战争中使用的战术,每一种战术究其根本是对象之间的作用在编程思维中的联系,所以理解各种设计模式的思维模式本质才算是真正掌握了这种设计模式,而不是仅仅记住使用模式需要的结构是怎样和结构间如何互相作用这些表象。
我觉得最应该牢记在心中的是设计模式的几个原则,这些原则一直存在于各种设计模式中,而他们的最终目的都是“高內聚,低耦合”这个目标。在编程工作中,灵活熟练使用设计模式思想,能极大地提升工作效率,这里的效率指的是长期效率,一个易扩展的项目能让项目极大减少重构的可能。
另外设计模式最不应该做的是为了显摆设计模式是使用设计模式,这不但不能为项目提供好处,还可能让自己和别人的工作变得繁琐。而这就是使用设计模式时要先明白其本质思维的原因。
在所写的设计模式示例代码中,不少写得比较简陋,主要是因为希望在不代入现实情景的前提下让人理解设计模式的思维,现实情景在真正的开发时,是必须思考的,但是示例的时候,对于现实情景则不是写出来就能那么容易理解,而对于目标设计模式,理解思维本质才是重点。
虽然面向设计模式通常被人认知的有二十三种,但又是否真的只有那么点呢?只要遵循面向对象设计模式原则,那么是否有可能存在一些还为被广泛认知的设计模式呢?这其实就是设计模式的进阶思考,个人认为肯定有,尤其是这个新语言还不断冒出的时代,在生活中多点思考,新模式的发现总有机会。但代码必须记住“高类聚,低耦合”这个目标