设计模式会破坏面向对象的原则?

一杯清茶Kevin 2005-04-07 01:56:38
举例来说,ValueObject设计模式,将对象的数据分离出来,方法跟数据不在同一各类中。而面向对象要求数据和方法同属于一个类。这是违反面向对象的原则吧?
还有,在设计模式中经常会添加一些跟业务或者现实世界的对象不相关的类,在增加了可扩展性的基础上,也增了复杂性,经常把现实世界中的对象三分五分的不成样子。
你认为呢?
...全文
234 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
nelsonc 2005-04-14
  • 打赏
  • 举报
回复
如果你没看过设计模式,你会怎么做?
在设计的时候应该把设计模式忘掉,当你看到对应模式的时候,自然会把设计模式运用上去。
不要为了用设计模式就把它硬搬上来。每个设计模式都是特例,你可以看看别人是怎么解决问题的,以后遇到同类的问题也可以考虑这样处理,不要把设计模式看成必需的东西。
实际上在业务逻辑设计时很少会用到上面提到的模式的。
个人感觉只有在设计类库的时候才会大量用到设计模式。
OnlyFor_love 2005-04-13
  • 打赏
  • 举报
回复
java不可能对任何事情都是最完美的,语言只是一种工具,合理利用工具才是对的!


配合使用多种工具,才能更好的去实现东西
biyudongjianqiang 2005-04-12
  • 打赏
  • 举报
回复
100分请求怎样在J2ee中 用 JBOSS EJB服务器
hymarx 2005-04-11
  • 打赏
  • 举报
回复
模式就是对象
一杯清茶Kevin 2005-04-11
  • 打赏
  • 举报
回复
顶!
bluesage 2005-04-11
  • 打赏
  • 举报
回复
大道至简,能解决问题最重要。
oyljerry 2005-04-11
  • 打赏
  • 举报
回复
有时 ,鱼与熊掌不可兼得啊
北极猩猩 2005-04-10
  • 打赏
  • 举报
回复
设计模式中的确有许多模式破坏或者不符合面向对象的某些原则,不过他是为了达到特殊的目的。没有绝对正确的原则,也没有绝对的模式。关键的问题是应用。
nullhue 2005-04-09
  • 打赏
  • 举报
回复
由简至繁
killme2008 2005-04-09
  • 打赏
  • 举报
回复
我不认为模式会破坏面向对象的原则,因为模式本身就是建立在这身原则的基础上的,如开放-封闭原则等等
除非你使用的方式本身是错误的。如何正确并且适当地使用模式,这应该是我们讨论的问题
dlxu 2005-04-08
  • 打赏
  • 举报
回复
解决问题是最重要的,什么事情都不能过度
模式也是用来解决问题的
对吧
一杯清茶Kevin 2005-04-08
  • 打赏
  • 举报
回复
看样子还是得多实践,顶
007remember 2005-04-07
  • 打赏
  • 举报
回复
路过
学习ing
关注ing
帮您顶
tomuno 2005-04-07
  • 打赏
  • 举报
回复
面向对象并不是终极解决方案
jb303 2005-04-07
  • 打赏
  • 举报
回复
这应该是一个经常谈的问题啦,我也很困惑,到底应该怎么抽取类和对象,一个类的职责到底该是多大?抽象的不好我们就会设计得别扭。好的设计只有一个,不好的设计却有很多种。到底怎么样的设计才是好的?
北极猩猩 2005-04-07
  • 打赏
  • 举报
回复
Value Object的主要作用是在Architecture的各个Layer之间传递数据,而各个Layer间对这些数据的使用是不同的,说得更明确些就是对于一个Object在不同的Layer中应该支持的处理方法不同,这样,如果将数据和方法至于同一个Class中就会造成一个Layer需要修改时会影响到Value Object,进而影响到与之相关的其他Layer。

设计模式中的很多模式是为了增加系统的可维护性而设计的,模式会增加系统的复杂性这是公认的,所以模式不是用的越多越好,而是要在需要的时候使用

50,528

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧