我对一些设计模式的理解
2010-05-30 15:28
225 查看
1.工厂模式
我曾经以为工厂模式是最无聊没用的一个模式,除了一个switch-case什么也没有。其实,如果你的接口里面有两个或者两个以上的函数,用工厂来创建对象,至少可以减少代码,获得更好的可读性。
2.模板方法与策略模式
模板方法是先定好一个骨架,具体细节要子类实现。其中模板方法是通过继承来实现的,而策略模式是通过接口聚合实现。个人更喜欢策略模式的实现。
拿方差的计算作为例子吧,我们知道D(X)=E{(X-E[X])*(X-E[X])}=E[X*X] - E[X]*E[X],我们可以把E[X]的计算看成一个接口,因为连续型随机变量和离散型随机变量的计算方法是不一样的,这样,方差的计算过程就可以看成是一个模板方法的应用。同时我们定义方差的时候只依赖了期望的定义,而没有依赖随机变量的类型(期望的实现),所以也可以把这个例子看成是依赖倒置。
我曾经以为工厂模式是最无聊没用的一个模式,除了一个switch-case什么也没有。其实,如果你的接口里面有两个或者两个以上的函数,用工厂来创建对象,至少可以减少代码,获得更好的可读性。
2.模板方法与策略模式
模板方法是先定好一个骨架,具体细节要子类实现。其中模板方法是通过继承来实现的,而策略模式是通过接口聚合实现。个人更喜欢策略模式的实现。
拿方差的计算作为例子吧,我们知道D(X)=E{(X-E[X])*(X-E[X])}=E[X*X] - E[X]*E[X],我们可以把E[X]的计算看成一个接口,因为连续型随机变量和离散型随机变量的计算方法是不一样的,这样,方差的计算过程就可以看成是一个模板方法的应用。同时我们定义方差的时候只依赖了期望的定义,而没有依赖随机变量的类型(期望的实现),所以也可以把这个例子看成是依赖倒置。
相关文章推荐
- 理解的一些设计模式
- 谈谈对一些软件架构设计箴言的理解 对软件的过早地优化是万恶的根源 反设计模式案例简介
- 关于js设计模式的一些总结和理解
- 设计模式之Builder (创建者模式)的一些个人理解(转)
- 记录自己理解的一些设计模式
- 设计模式的一些理解
- 黑马程序员 关于单例设计模式的一些理解
- 设计模式网上资料整合理解——创建型模式(一)
- 简单理解常用设计模式(二)策略模式
- 深入浅出的理解框架(Struts2、Hibernate、Spring)与 MVC 设计模式
- 我所理解的设计模式(C++实现)——命令模式(Command Pattern)
- 我所理解的设计模式(C++实现)——适配器模式(Adapter Pattern)
- 简单理解常用设计模式(三)常用设计原则
- GOF设计模式-创建型模式理解与思索(二)(Factory Method分析)
- 简单理解常用设计模式(五)代理模式
- 极速理解设计模式系列:13.外观模式(Facade Pattern)
- 【设计模式总结】对常用设计模式的一些思考(未完待续。。。)
- 简单理解常用设计模式(八)外观模式
- 设计模式的轻松理解
- JAVA单例设计模式的理解