跪求大家,帮我看看这个问题,谢谢!!!!!!!!!!!!!http://expert.csdn.net/Expert/topic/2633/2633574.xml?temp=.6377375
解决方案 »
- 求正则表达式
- 有关static修饰和函数重载的问题!急!!!
- 求助!!!!在线等!!!
- 请问,我自定义了ClassLoader,加载jar文件,可是两个不同的jar文件同时调用了一个 dll 这是程序提示这个dll被调用两次违法,怎么办?
- 使用poi读取excel文件时碰到的问题
- 救急:我用的是JDBC2,但无法实现滚动或更新光标的请求?
- sql-server 连接问题。
- 偶是菜鸟,向各位高手提个问题:java程序在客户端怎么运行,有exe文件吗?需要什么环境?为什么其他的应用程序不需要什么环境呢(如vc的程序)?
- jbuider 中dbSwing的FontChooser在哪里?
- JAVA正则取XML里的节点效果怎么样
- 我出分,大家来谈谈 IllegalStateException
- 怎么取InputStream里的数据到String? 不知道长度,无法read(byte[]),求其他方法
^@^
高内聚低耦合
我也是新手,大家共同进步。
高内聚低耦合这也是软件工程的要求
首先不要把你的视线锁定在“方法”上。面向对象关注的不是方法,基础的东东可以说是“抽象数据类型(ADT)”。焦点应该集中在这里,就是如何抽象出你的对象(或者叫做“类型”)是较为关键的。而你提到的关注方法的重用给俺的感觉还是过程的思维。在面向对象世界中,重用的单元不是针对“方法”重用的。方法仅仅是为类型提供的操作,脱离了ADT,单独重用方法是没有意义的,反而回到了过程化的思维。一起来回顾一下程序设计演变的道路:
(1) 在过程化程序设计中,关注的事情是确定需要的过程,然后为已经确定的过程选择算法。这是一个简单过程设计的描述。
(2) 然后,设计的重点开始了转移,从有关过程的设计转移到了对数据的组织了。因此出现了模块化程序设计:确定哪些模块,将程序分为多个模块,数据都隐藏在模块之中。(此时的Information Hiding原理也变得广为人知)。过程呢?就会被应用到各个模块之中去。
(3) 其实模块化对于清晰表示复杂的系统还是不够的,因此又出现了数据抽象。这样工作的重点又变成了:确定需要哪些类型,然后为每个类型都提供完整的一组操作。对于好的面向对象设计,数据抽象是最基本的东西了。 再加上“抽象类型”,就可以单独分离出用户接口,分离用户接口的好处在于解除外界与实现的直接耦合。这就是楼上提过的“低耦合”,而实现的内部是“内聚”的。从以上的过程俺们可以看出,仅仅把注意力放在“方法”上实际是过程化设计所关注的事情。俺觉得你提出的问题不应该是关注的焦点。
<<
首先考虑是否应该把它的方法拆开,它的方法是否做了太多的事?如果确实必要在一个方法里返回多个对象可以构造一个对象封装结果集,或者用List放回结果集。
>>
方法中修改参数是要避免的。
所以类中的方法本来就是高耦合的,降低耦合没有什么意义。