设计模式之殇

学习编程到一定阶段的时候都会进入设计模式学习,但是同时又有很多人诟病设计模式,认为其是把简单的问题复杂化。但在我看来,只有适不适合,如果使用设计模式后觉得是把问题复杂化,那么只能说不适合。设计模式在我看来真正的价值以下几点

抽象

在我们所有一切表象中的主要区别即直观表象和抽象表象的区别。后者只构成表象的一个类,即概念 -- 《作为意志和表象的世界》

理解设计模式更多在于理解问题的本质,世界是由物质和非物质组成。

初期我们可能只理解与物质的抽象,比如定义一辆汽车Car,于是衍生于创建模式(比如工厂,单例,原型等)。

中期,我们发现对于非物质我们也需要抽象,比如物质间的关系,于是衍生出结构型模式(代理,装饰等)

后期,我们发现物质的行为一种真实的存在,并且行为间也存在关系,依然以汽车为例,汽车通电,点火,挂档,这一系列行为,都是依赖于上一个行为的结果,并且拥有着相同的上下文(汽车的状态),对于这个就抽象出责任连。着一种设计模式叫做行为型模式

规范

这一点是基于抽象,正是由于大部分的开发者活着机构认可了设计模式的抽象,以至于在工作中运用起来,达到一定基数后,自然成为行业的潜规则,以至于我们在看别人的源码的时候能够更利于理解,典型的就是Spring的源码,很多代码看一个类名就只大概知道起作用,比如BeanFatory,FilterChain, AopProxy。

个人观点

我也比较赞同为了设计模式而用设计模式,但仅限于学习,因为这样才能真正明白其中的原理和应用场景。至于工作中特别是上生产,还是要掌握后再使用。

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20180116G003XP00?refer=cp_1026

相关快讯

扫码关注云+社区