楼主: yining

[精华] [专题讨论]设计模式及应用

[复制链接]
论坛徽章:
55
生肖徽章:虎
日期:2006-09-06 21:14:232011新春纪念徽章
日期:2011-01-25 15:41:502011新春纪念徽章
日期:2011-01-25 15:42:152011新春纪念徽章
日期:2011-01-25 15:42:332011新春纪念徽章
日期:2011-01-25 15:42:56管理团队成员
日期:2011-05-07 01:45:082012新春纪念徽章
日期:2012-01-04 11:49:542012新春纪念徽章
日期:2012-02-13 15:11:182012新春纪念徽章
日期:2012-02-13 15:11:182012新春纪念徽章
日期:2012-02-13 15:11:18
71#
 楼主| 发表于 2004-8-7 06:58 | 只看该作者
最初由 icemen 发布
[B]coding才是软件的终结者! [/B]
不知道你所说的coding是什么。如果仅仅指编码,我倒认为编码也是设计的一部分,而且是不可分割的一部分。

使用道具 举报

回复
论坛徽章:
0
72#
发表于 2004-8-22 12:06 | 只看该作者
我觉得可以简单地这样理解:
factory返回一个对像,而abstract factory返回一个类--为创建对像提供模型

使用道具 举报

回复
论坛徽章:
0
73#
发表于 2004-8-22 17:26 | 只看该作者

jdon

有兴趣可看jdon2.5的原代码,会有收获。

使用道具 举报

回复
论坛徽章:
59
马上加薪
日期:2014-02-19 11:55:142012新春纪念徽章
日期:2012-02-13 15:11:522012新春纪念徽章
日期:2012-01-04 11:49:54ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41灰彻蛋
日期:2011-10-28 14:15:35管理团队成员
日期:2011-05-07 01:45:082011新春纪念徽章
日期:2011-02-18 11:43:332011新春纪念徽章
日期:2011-01-25 15:42:562011新春纪念徽章
日期:2011-01-25 15:42:332011新春纪念徽章
日期:2011-01-25 15:42:15
74#
发表于 2004-9-18 17:55 | 只看该作者
最初由 wind666 发布
[B]我觉得可以简单地这样理解:
factory返回一个对像,而abstract factory返回一个类--为创建对像提供模型 [/B]


偶想不明白的是为什么要这么做呢?

从代码和CODING的角度上偶可以理解这样的做法, 但偶不明白的是作为一个系统的设计者究竟能从这样的结构中得到什么呢? 换句话说, 所谓设计模式并非是系统设计模式, 它不是系统设计所关注的反映系统实际功能的设计模型, 偶试图找出能够按照功能模型应用JAVA设计模式中的代码模式的方法, 却非常困难

使用道具 举报

回复
论坛徽章:
55
生肖徽章:虎
日期:2006-09-06 21:14:232011新春纪念徽章
日期:2011-01-25 15:41:502011新春纪念徽章
日期:2011-01-25 15:42:152011新春纪念徽章
日期:2011-01-25 15:42:332011新春纪念徽章
日期:2011-01-25 15:42:56管理团队成员
日期:2011-05-07 01:45:082012新春纪念徽章
日期:2012-01-04 11:49:542012新春纪念徽章
日期:2012-02-13 15:11:182012新春纪念徽章
日期:2012-02-13 15:11:182012新春纪念徽章
日期:2012-02-13 15:11:18
75#
 楼主| 发表于 2004-9-21 08:38 | 只看该作者
lodge太执着了。其实就像我前面说的,设计模式分3个层次:1。架构模式,比如MVC,比如Pipeline或者Black board。2。设计模式,GoF的模式都在这个层次,在作框架设计的时候,你根本用不到这些,倒是在细节设计以及重构的时候经常会碰到这些模式。3。和具体语言相关的实现模式,这些模式和前两种不同,前两种模式和具体的程序语言关联很小。但是第三种模式完全取决于具体的程序语言,这些模式其实更类似于技巧,比如臭名昭著的double-checked locking。相对来说,与其在设计阶段使用设计模式,还不如在重构的时候使用模式更容易些。

使用道具 举报

回复
论坛徽章:
1
会员2006贡献徽章
日期:2006-04-17 13:46:34
76#
发表于 2004-10-12 08:35 | 只看该作者
/*
*用静态方法实现
*/
public class NullToBlank {
public static String nullToBlank(Object obj){
if(null == obj){
return "";       
}else{
return obj.toString();
}
}
}
/*
*用饿汉式单例类实现
*/
public class NullToBlank {
private static final  NullToBlank n_instance = new NullToBlank();
private NullToBlank(){
}
public static NullToBlank getInstance(){
return n_instance;
}
public  String nullToBlank(Object obj){
if(null == obj){
return "";       
}else{
return obj.toString();
}
}
/*
*懒汉式单例类实现
*/
public class NullToBlank {
private static final  NullToBlank n_instance ;
private NullToBlank(){
}
synchronized public static NullToBlank getInstance(){
if(null==n_instance){
n_instance = new NullToBlank();
}
return n_instance ;
}
public String nullToBlank(Object obj){
if(null == obj){
return "";       
}else{
return obj.toString();
}
}
用静态方法和用单例模式有什么区别?,我认为功能上是一样的。

使用道具 举报

回复
论坛徽章:
55
生肖徽章:虎
日期:2006-09-06 21:14:232011新春纪念徽章
日期:2011-01-25 15:41:502011新春纪念徽章
日期:2011-01-25 15:42:152011新春纪念徽章
日期:2011-01-25 15:42:332011新春纪念徽章
日期:2011-01-25 15:42:56管理团队成员
日期:2011-05-07 01:45:082012新春纪念徽章
日期:2012-01-04 11:49:542012新春纪念徽章
日期:2012-02-13 15:11:182012新春纪念徽章
日期:2012-02-13 15:11:182012新春纪念徽章
日期:2012-02-13 15:11:18
77#
 楼主| 发表于 2004-10-13 10:39 | 只看该作者
要看你的具体应用以及需要解决的问题。仔细看看GoF的关于singleton的目的,体会一下这种时候static method是否能够达到同样的目的。

使用道具 举报

回复
论坛徽章:
1
会员2006贡献徽章
日期:2006-04-17 13:46:34
78#
发表于 2004-10-14 14:21 | 只看该作者
singleton的目的是在一个范围内(比如一个JVM)只创建一个(或有数个)实例.
谢谢yining

使用道具 举报

回复
论坛徽章:
59
马上加薪
日期:2014-02-19 11:55:142012新春纪念徽章
日期:2012-02-13 15:11:522012新春纪念徽章
日期:2012-01-04 11:49:54ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41灰彻蛋
日期:2011-10-28 14:15:35管理团队成员
日期:2011-05-07 01:45:082011新春纪念徽章
日期:2011-02-18 11:43:332011新春纪念徽章
日期:2011-01-25 15:42:562011新春纪念徽章
日期:2011-01-25 15:42:332011新春纪念徽章
日期:2011-01-25 15:42:15
79#
发表于 2004-10-17 10:44 | 只看该作者
而者应该是本质的区别, 静态方法只能叫一个方法, 原则上它只是一个方法而不能保存可变动态对象, 从处理层次上, 静态方法属于, 系统的底层处理, 系统级别
singleton则是一个对象, 它可以动态变化, 但必须考虑时间顺序的问题, 在处理层次上它属于高层处理, 应用级别

使用道具 举报

回复
论坛徽章:
0
80#
发表于 2004-10-26 09:53 | 只看该作者

啊啊啊

继续关注

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表