观设计模式有感而发
最近星灵空虚,窝又把大话设计模式这本书拿出来看了一遍, 有些心里话想写下来,
路漫漫其修远,吾将上下而求索
其实什么问题都要透过现象看本质, 无论什么东西,都是由本质,简单的东西构成的,这其实就是西方的‘原子论’的思想。当我们读过一本设计模式的书的时候,必然会发现,很多的设计模式非常非常的相像, 有些甚至只有语义上的不同, 比如策略模式,适配器模式等。就面向对象的本质来说, 有几个原子的属性, 继承, 封装, 多态。 面向对象设计我们可以用UML来描述, UML无非就那几种:依赖(Dependency),关联(Association),聚合(Aggregation),组合(Composition),泛化(Generalization),实现(Realization)等。所以最终各种设计模式看上来,无非是将变化的部分抽象成接口作为成员变量,我们不应该太沉醉于形式化的设计模式,而是应该看到这其中原子性的东西, 当然从不同的角度来看,原子性的东西是不同的, 最为一只程序员,我觉得我们应该更多的关注的是思想, 设计模式无非是那几个面向对象思想的教科书案例: 单一职责, 依赖倒转, 开放封闭等原则。我们在看设计模式的时候,应该多多思考为什么会这么写, 思想是什么,如果是我我该怎么写,要有透过问题的表象,看到内在的东西的求知欲。在举个列子, 比如数据库,
现在数据库技术那么多,难道你要一个 一个都要非常精通么, NO! 同样的,我们必须透过这些技术的表象看到本质的东西:关系代数, 数据库操作不管如何复杂,根据关系代数的理论, 都可以由这几个关系运算组合而成,选择,投影,连接,除等。 看到了本质,我们也就看到了方向,知道该怎么做了, 学好关系代数,再掌握一门数据库语言就可以, 为什么这样,因为理论与实践必需结合起来, 这是辩证唯物主义哲学!
真心觉得那些整天被市面上的层出不穷的框架搞得忙的不可开交的人, 小心变成不识庐山真面目的山里人哦。
我觉得不变的东西才是我们的道~