观设计模式有感而发

最近星灵空虚,窝又把大话设计模式这本书拿出来看了一遍, 有些心里话想写下来,

路漫漫其修远,吾将上下而求索

其实什么问题都要透过现象看本质, 无论什么东西,都是由本质,简单的东西构成的,这其实就是西方的‘原子论’的思想。当我们读过一本设计模式的书的时候,必然会发现,很多的设计模式非常非常的相像, 有些甚至只有语义上的不同, 比如策略模式,适配器模式等。就面向对象的本质来说, 有几个原子的属性, 继承, 封装, 多态。 面向对象设计我们可以用UML来描述, UML无非就那几种:依赖(Dependency),关联(Association),聚合(Aggregation),组合(Composition),泛化(Generalization),实现(Realization)等。所以最终各种设计模式看上来,无非是将变化的部分抽象成接口作为成员变量,我们不应该太沉醉于形式化的设计模式,而是应该看到这其中原子性的东西, 当然从不同的角度来看,原子性的东西是不同的, 最为一只程序员,我觉得我们应该更多的关注的是思想, 设计模式无非是那几个面向对象思想的教科书案例: 单一职责, 依赖倒转, 开放封闭等原则。我们在看设计模式的时候,应该多多思考为什么会这么写, 思想是什么,如果是我我该怎么写,要有透过问题的表象,看到内在的东西的求知欲。在举个列子, 比如数据库,

现在数据库技术那么多,难道你要一个 一个都要非常精通么, NO! 同样的,我们必须透过这些技术的表象看到本质的东西:关系代数, 数据库操作不管如何复杂,根据关系代数的理论, 都可以由这几个关系运算组合而成,选择,投影,连接,除等。 看到了本质,我们也就看到了方向,知道该怎么做了, 学好关系代数,再掌握一门数据库语言就可以, 为什么这样,因为理论与实践必需结合起来, 这是辩证唯物主义哲学!

       真心觉得那些整天被市面上的层出不穷的框架搞得忙的不可开交的人, 小心变成不识庐山真面目的山里人哦。

 我觉得不变的东西才是我们的道~

时间: 2024-10-11 22:10:26

观设计模式有感而发的相关文章

设计模式11-外观模式

1. 概念 为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用. 2 .案例 /********************************************************************** * <pre> * FILE : Demo01.java * CLASS : Demo01 * * AUTHOR : Liaokailin * * FUNCTION : TODO * * *=============

设计模式9---外观模式

外观模式其实是平时一直在使用的,只是很少有人意思到而已. 举例:作为投资者,你有很多选择,可以是股票,房产,黄金,股票也有很多,具体选哪个,抛哪个等等问题. 其实作为普通投资者,根本没有必要的知识和心里素质. 而这时候,你只要选择一个基金,由基金经理代替你来管理这些投资组合. 而这就是一种设计模式: client端需要某些功能,这些功能在featureA和featureB中实现,而这时候,有facade类来帮助 Client来操作,也就是说,client端根本不需要知道featureA和feat

java中23种设计模式之6-外观模式(facade pattern)

概念:为子系统中的一组接口提供一个统一接口.Facade模式定义了一个高层接口,这个接口使得这子系统更容易使用. 应用场景: 1)为一个复杂子系统提供一个简单接口. 2)提高子系统的独立性. 3)在层次化结构中,可以使用Facade模式定义系统中每一层的入口. 以大型娱乐商场提供的休闲一条龙服务为例,包括购物,餐饮,按摩.其中购物,按摩,餐饮作为子系统的组成,提供统一对外接口PackageService 类图如下: class Shopping{ String customer=null; pu

【设计模式】-结构型-5-外观模式

主要角色 外观(Facade)角色:为多个子系统对外提供一个共同的接口. 子系统(Sub System)角色:实现系统的部分功能,客户可以通过外观角色访问它. 客户(Client)角色:通过一个外观角色访问各个子系统的功能. 代码展示 package facade; public class FacadePattern { public static void main(String[] args) { Facade f=new Facade(); f.method(); } } //外观角色

[GeekBand] 设计模式之观察者模式学习笔记

本文参考文献::GeekBand课堂内容,授课老师:李建忠 :网络资料: http://blog.csdn.net/hguisu/article/details/7556625 本文仅作为自己的学习笔记,不代表权威,因为是初学,有错误烦请大家指正,谢谢. 1.什么是观察者模式,应用场所有哪些? 观察者模式(有时又被称为发布-订阅Subscribe>模式.模型-视图View>模式.源-收听者Listener>模式或从属者模式)是软件设计模式的一种.在此种模式中,一个目标物件管理所有相依于它

详解设计模式之工厂模式(简单工厂+工厂方法+抽象工厂)

园子里关于23种设计模式的博文已经可以说是成千上万.车载斗量.屯街塞巷.不计其数.数不胜数.摩肩接踵.汗牛充栋.车水马龙.门庭若市.琳琅满目直至让人眼花缭乱了.在这样的大环境下之所以来写设计模式类的博文,并不是像一些"非主流"的爱情观那样"宁缺毋滥". 只是其一呢,因为相当于给自己做一个总结,加深一下自己这方面的认识,因为掌握了和把它写出来我感觉后者还可以对技能有一个提升,其二呢是因为最近公司有一个内部的training需要讲设计模式. v写在前面 在这里呢,需要向

《Java 从入门到精通(第二版)》 观书有感

笔者今天认真试读了下此书,首先,按照笔者看书的习惯来说,喜欢先看看前面的部分.作者在前言里放了张学习java的路线图,是一个比较标准的学习流程.可是为什么在编程进阶那里放了个设计模式,然后下次才是抽象类与接口,包及访问权限(这名字和java编程思想好熟悉啊),个人认为,设计模式不应该放上来的,可能作者这里的设计模式有其它的含义吧.         全书文字和图像布局都比较合理,看着也挺舒服的.并且发现书还不是一个人写的,不由好几个不同的人共同撰写的.接下来就是目录了,从目录的结构来看,知识点很全

对几种常见设计模式的理解

 转自:  http://blog.csdn.net/dengpeng0419/article/details/48110841 设计模式是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了可重用代码.让代码更容易被他人理解.保证代码可靠性. 最早提出"设计模式"概念的是建筑设计大师亚力山大Alexander.在1970年他的<建筑的永恒之道>里描述了投计模式的发现,因为它已经存在了千百年之久,而现代才被通过大量的研究而被发现.在<建

设计模式 学习 6:

11个行为模式之6(备忘录模式,观察者模式,状态模式,策略模式,模版模式,访问者模式) 备忘录模式 Sunny软件公司欲开发一款可以运行在Android平台的触摸式中国象棋软件,由于考虑到有些用户是"菜鸟",经常不小心走错棋:还有些用户因为不习惯使用手指在手机屏幕上拖动棋子,常常出现操作失误,因此该中国象棋软件要提供"悔棋"功能,用户走错棋或操作失误后可恢复到前一个步骤,   如何实现"悔棋"功能是Sunny软件公司开发人员需要面对的一个重要问题