JiveJdon Community Forums
在线283人   首页   主题表   培训咨询   标签   精华   查搜   注册    登陆 RSS
首页 » 论坛 » 设计模式、框架和架构
???en_US.forumThreadPrev.name??? 上一主题
  Go back to the topic 返回本主题   Go back to the topic listing返回主题列表
???en_US.forumThreadNext.name??? 下一主题
Go 总共有 9 回复 / 1
 发表新帖子   回复该主题贴
hlayy

悄悄话
发表文章: 68
注册时间: 2006年08月03日 11:29
松耦合真是条任重道远的路 2006年10月12日 14:28 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
标签列表 oo思维(103)      松耦合(12)     
松耦合很有意思,越学越带劲啊。只是觉得这条路真的还是蛮长的。

感觉松耦合会损失系统的性能,损失系统的可读性(增加了复杂性),但是也能增加系统的灵活性,扩展性。这是不是一种取舍?我说得对么?
banq

悄悄话
发表文章: 9528
注册时间: 2002年08月03日 17:08
Re: 松耦合真是条任重道远的路 2006年10月13日 10:06 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题

松耦合是代码设计阶段事情,性能是运行阶段,两者没有必然的矛盾,取决于设计水平,正因为这样,我们使用框架来保证设计水平,通过配置替代一般的编码工作。这样既保证松耦合,又保证一定的性能。

d27

悄悄话
发表文章: 5
注册时间: 2006年11月04日 13:54
Re: 松耦合真是条任重道远的路 2006年11月08日 13:09 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
同意
jimmylai

悄悄话
发表文章: 13
注册时间: 2006年12月05日 10:23
Re: 松耦合真是条任重道远的路 2006年12月05日 11:01 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
松耦合本身就是软件设计的一种最基本的东西,只是不明白在JAVA里为什么会把它看得那么高深??
模块化及降低每个模块之间的耦合度本身就是软件设计的最基本要求,使用接口(INTERFACE)就可以完成,接口的作用就是用来连接不同的模块的。
你的计算机显示器和主机是靠什么连接的啊?答案就是接口(INTERFACE),有了接口后你就可以任意更换显示器了。
真不明白Spring或某些东西为什么会在“松耦合”上面拼命地吹??只是一些最基本的东西呀??
banq

悄悄话
发表文章: 9528
注册时间: 2002年08月03日 17:08
Re: 松耦合真是条任重道远的路 2006年12月05日 11:42 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
>松耦合本身就是软件设计的一种最基本的东西,只是不明白在JAVA里为什么会把它看得那么高深

最基本的东西都没有做好,有潜力可挖,不同时期松耦合的要求程度不一样,以前觉得加一个接口就是松耦合,但是事实是接口只能用来声明对象,对象还是需要创建,靠一个工厂模式虽然解决了屏蔽具体对象,还是引入了工厂第三者,赶走了虎豹,引来了豺狼,松耦合不彻底。

由于IOC/DI的引入,才使松耦合目前看比较不错,但是也许以后还有更好的松耦合,思想方法不断进步,会找到更好的解决方案。
jimmylai

悄悄话
发表文章: 13
注册时间: 2006年12月05日 10:23
Re: 松耦合真是条任重道远的路 2006年12月05日 18:07 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
"但是事实是接口只能用来声明对象,对象还是需要创建"------你这样子去理解接口就错了,这种理解绝对是一种很肤浅的理解,接口的真正用途是用来衔接系统的不同部件,起到一种衔接的作用,一般在接口里定义一些共用的属性及方法,这些属性和方法是留给被衔接部件交流信息用的.
另外,松耦合并不是说就要避免生成对象,难道IOC就不生成对象了吗?同样要生成,只是由容器去生成及管理罢了,这种松耦合的解决方式和使用接口的传统方式不同之处只在于多了一个XML配置文件而已,而这个配置文件最大的意义是给容器自动生成对象用的,而为什么要让容器去自动生成和管理对象,我想设计者的真正目的是在于节省句柄资源之用,除此之外,我实在是想不出这样做有什么好处,而其代价却是使系统的结构复杂了,用户的使用也复杂了.
其实要实现松耦合也并不一定要使用接口,定义一个中间类来衔接也可以,而中间类的话可以通过组合的形式包含进其它类里,而接口的话就必需得被继承才可以,这是用语言去实现的一种要求.
banq

悄悄话
发表文章: 9528
注册时间: 2002年08月03日 17:08
Re: 松耦合真是条任重道远的路 2006年12月06日 11:53 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
前面我没有解释清楚。

使用容器管理对象时候,有两种区分:一是不关心松耦合;二是照顾松耦合。

以前容器设计都是不关心代码是否松耦合,甚至要求代码类之间必须是紧耦合的;而IOC容器实现了IOC模式,Ioc容器会进行代码类之间调用关系的注射,这样,代码设计时,类之间调用关系只依赖接口就行。

也就是说:Ioc容器和普通容器区别是:Ioc容器会解决代码设计时一些耦合关系;而这时以前普通容器没有注重的。

松耦合应该是程序设计的事情,一般和运行阶段没有关系,Ioc/DI特点就是将设计阶段的事情放在运行阶段实现了。
guolei7554

悄悄话
发表文章: 3
注册时间: 2005年11月09日 22:43
re:松耦合真是条任重道远的路 2007年01月06日 23:26 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
"Ioc/DI特点就是将设计阶段的事情放在运行阶段实现了"
不甚明白,偶感觉ioc只是把对象间的耦合关系转移到xml中去了,设计上没剩什么事啊,这和以前将一些易变的耦合关系放入配置文件或数据库中的做法好象没什么本质的区别啊,可能唯一的好处是将这种做法标准化和自动服务了,不过也死板了。肯请banq老师指点迷津。研究了半天ico越来越迷糊了,总感觉有些东西还没有看透。
banq

悄悄话
发表文章: 9528
注册时间: 2002年08月03日 17:08
re:松耦合真是条任重道远的路 2007年01月07日 13:15 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
由于论坛更换期间,前面乱码现象现在已经update,能否请楼上再发表一次?

"松耦合真是条任重道远的路"更加验证老子下面这句话:
为学日益,为道日损

只有经过漫长学习实战锻炼道路,才能真正明白“松耦合”这个日益简单的道理
litdong

悄悄话
发表文章: 20
注册时间: 2003年06月20日 16:11
re:松耦合真是条任重道远的路 2007年01月25日 16:38 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
接口实现松耦合是一种技术手段和工具,设计不好的一样耦合,所以才出现banq提及的框架,一套关系定义良好的接口串联起来就是框架,通用的需求产生通用的框架,实现类依赖某些不成系统的接口没有战略意义,充其量是战术技巧,也谈不上是好的松耦合,只有依赖于框架的实现才可以谈得上好的设计和实现
这个主题有 9 回复 / 1Go
???en_US.forumThreadPrev.name??? 上一主题
  Go back to the topic 返回本主题   Go back to the topic listing返回主题列表    返回页首返回页首
???en_US.forumThreadNext.name??? 下一主题
热点TAG: AOP cache 缓存 DDD EJB 集群 设计模式 Hibernate IOC JiveJdon OO RBAC Seam Spring Struts
正在读取,请等待...
google yahoo 新浪ViVi 365Key网摘 天极网摘 CSDN网摘 添加到百度搜藏 POCO网摘 博采网摘
查询本论坛内 回复超过的热门帖子
     回复该主题贴
标题
 
粗体 斜体 下划线 插入图片 插入代码 插入url链接 插入附件
内容
  每2分种自动备份发贴内容Ctrl-V粘贴取出,提问题前先查询标签列表

RSS 手机阅读 add to google add to yahoo
解惑之道在J道 ,打造中国最具影响力的的企业软件社区
OpenSource JIVEJDON v3.0 Powered by JdonFramework Code © 2002-08 jdon.com

anti spam