在线155人
首页
主题总表
培训咨询
精华
查搜
注册
登陆
用户
自动登陆
密码
新用户注册
忘记密码?
首页
»
论坛
»
设计模式、框架和架构
上一主题
我认为“面向对象”是类的层次上进行的分析和设计,而“面向过程”是在系统的流程上的分析和设计?我这样说有没有错。 拿“注册系统”举例来说,一拿到这个模块,用“面向对象”的方法,我们应该先分析其中类..
返回本主题
返回主题列表
下一主题
banq您好: 有幸拜读了您的《你还在用if else吗?》一文 (http://www.jdon.com/artichect/ifelse.htm) 感觉很有收获,很想马上就行动起来,用设计模..
Go
总共有
4
回复 /
1
页
前往下页:
smillton1
悄悄话
发表文章: 3
注册时间: 2007年06月08日 12:19
proxy和factory
2007年06月08日 12:19
标签列表
设计模式
(144)
最近开始学习
设计模式
,刚学了factory,现在在看proxy。
想问个问题,factory是否可以看成是proxy的一种应用,工厂所proxy的是产品的构造函数?
不知道这样的理解是不是正确,如果这样的理解有问题,能否解释一下,谢谢各位啦
smillton1
悄悄话
发表文章: 3
注册时间: 2007年06月08日 12:19
re:proxy和factory
2007年06月11日 08:48
没人回答下吗?
banq
悄悄话
发表文章: 9313
注册时间: 2002年08月03日 17:08
回复:proxy和factory
2007年06月11日 11:38
>factory是否可以看成是proxy的一种应用
不是,factory和proxy都是模式,是同级别的,就象伯伯叔叔都是同一个长辈级别。它们之间可以联合使用,但在抽象层次上,都是一样的,不是谁可以成为谁的应用。
leadyu
悄悄话
发表文章: 47
注册时间: 2005年03月29日 12:53
回复:proxy和factory
2007年06月11日 13:17
2种模式属于不同的概念,我的理解是:
工厂主要解决几方面问题:
1)隔离上下文环境对于接口具体实现类的依赖性,工厂往往是基于接口的,比如对new的封装
2)为不同的上下文环境提供不同的对象构造方式,对外提供统一的构造行为,当对于一个对象的创建有不同的逻辑,达到一定复杂程度时又会派生出抽象工厂模式
3)集中对象的构造逻辑,而为什么需要集中管理构造逻辑呢?当对象的构造逻辑在系统设计中处于不稳定的状态,可能发生变化,那么我们就需要隔离上下文对于这样逻辑的依赖性。
这样的思想有一定的共性,那就是,尽量统一类似的逻辑,同时把稳定和易变的逻辑进行分离。应该说很多模式都是为了达到这么一个目的而产生。
当然,具体应用时,模式是灵活的,就拿工厂模式老说,现在越来越多的例子已经不光光应用它于对象的构造上,很多时候已经得到延伸,比如对于对象生命周期的管理。
总的来说,当对象的构造复杂,同时多变,那么我们就要考虑考虑工厂模式,而不是用new。
至于Proxy,GOF的书中所给的定义是:对于已有物件进行代理,从而达到对于物件访问的控制。
那么什么时候我们需要对已有类的功能进行代理呢?
比如说你家局域网封了**端口,你使用代理服务器,让你感觉跟正常的使用一样,这是网络访问功能的代理,那么像JAVA的RMI远程调用,通过客户端代理,让你感觉直接在访问远程对象。
,还有就比如说,权限控制,写日志等等。
另外一种情况,我并不是想对于已有类功能的访问进行控制,我可能只是想包装已有功能,做些自己额外的事情,也就是对已有功能的扩展,比如我之前写的监控组件,就是通过代理来进行访问的轨迹跟踪。
那么对于代理的实现,就有很多种,最简单的,就是静态编码,实现对于类的代理包装,还有很多其他方式,比如动态代理,在运行时通过反射机制进行代理,当然随着字节码框架的完善,很多代理的实现方式更加强大,甚至不用定义代理接口,不用改变类的继承关系。
这些是我的理解,看看对你有没帮助
smillton1
悄悄话
发表文章: 3
注册时间: 2007年06月08日 12:19
re:proxy和factory
2007年06月12日 09:03
似乎有些理解了,感觉
设计模式
中总的思想都有共通的地方,只是有些很细微的差别来达到特有的一些需求。谢谢楼上2位大大的介绍,看来我还需要结合实践,细细体会一下啊。
这个主题有
4
回复 /
1
页
Go
上一主题
返回本主题
返回主题列表
返回页首
下一主题
热点TAG:
AOP
cache
缓存
DDD
EJB
集群
设计模式
Hibernate
IOC
JiveJdon
OO
RBAC
Seam
Spring
Struts
正在读取,请等待...
查询本论坛内
近一天
近三天
近一周
近一月
近三月
近半年
近一年
所有
回复超过
的热门帖子
标题
内容
解惑之道在
J道
,打造中国最具影响力的的企业软件社区
OpenSource
JIVEJDON
v3.0
Powered by
JdonFramework
Code © 2002-08
jdon.com
anti spam