设计模式 值对象使用 大鸟们来发表下自己的理解

zjx198934 2010-07-16 10:12:22
如题,如要是如何应用值对象来提高系统系能和优化设计!
...全文
380 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
hwbox 2010-07-17
  • 打赏
  • 举报
回复
感觉自己回答的有点唐突了,现在转入学习模式中。
hwbox 2010-07-17
  • 打赏
  • 举报
回复
值类型就不是对象,对象就不可能是值类型。没有什么值对象。
wantalcs 2010-07-17
  • 打赏
  • 举报
回复
使用值对象,一般称为贫血模型,并没有直接对应某个设计模式。不过使用值对象明显体现一个设计原则:职责单一原则。
随便说一句,c#的扩展方法是好东西。通过使用扩展方法扩展值对象功能,既能得到充血模型调用简单的好处,又能保持贫血模型类关联简单的优点。
风平心境 2010-07-17
  • 打赏
  • 举报
回复
他们跟设计模式有什么关系????
风平心境 2010-07-17
  • 打赏
  • 举报
回复
是引用对象和值对象吧.... 实体对象(这个太笼统了)让人误解.
请叫我卷福 2010-07-17
  • 打赏
  • 举报
回复
不太懂LZ意思
关注 学习。。。
zjx198934 2010-07-17
  • 打赏
  • 举报
回复
大家一起讨论学习吧! 其实我说的”设计模式“不是单单指我们所熟知的那种设计模式,可以说是一种泛指,仅仅就是想弄清楚DDD中是怎么样把值对象利用起来的。因为现在我们的开发模式主要是事物+贫血+数据库设计,不是绝对的面向对象,所以很把思路难转变过来!
zjx198934 2010-07-16
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 vrhero 的回复:]

值类型和设计模式扯不上半毛钱关系...如果你连基础的数据结构都没弄明白,不要谈设计...

满足以下所有条件才应该使用值类型...

1.在逻辑上表示单个值,与基元类型相似...

2.实例大小小于 16 字节...

3.不可变...

4.不必频繁装箱...

至于为什么,去看《计算机原理》和《数据结构》...
[/Quote]
可能是我表达的意思不对 让你理解错了
最近在看DDD,对其中描述实体和值对象的区别有点困惑。“实体是可变的,而值对象是不可变的”对值对象的说法有些不明白,是说值对象一旦创建了就不能改变值对象中的属性的值么?另外作者说在一些性能领域值对象可以复用,但又说值对象不能改变。这说法是否是冲突的?
我只是想知道业务中如何来使用值对象 因为大家都说正确使用值对象可能减少数据库的访问,减少缓存的压力
vrhero 2010-07-16
  • 打赏
  • 举报
回复
值类型和设计模式扯不上半毛钱关系...如果你连基础的数据结构都没弄明白,不要谈设计...

满足以下所有条件才应该使用值类型...

1.在逻辑上表示单个值,与基元类型相似...

2.实例大小小于 16 字节...

3.不可变...

4.不必频繁装箱...

至于为什么,去看《计算机原理》和《数据结构》...
zjx198934 2010-07-16
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 sp1234 的回复:]

引用楼主 zjx198934 的回复:
如题,如要是如何应用值对象来提高系统系能和优化设计!


谈不到优化。如果只知道低级的东西,就谈不上设计了。
[/Quote]

但是再好的设计都是从基本的开始的啊! 我只是想知道值对象能怎么用?在设计中它能够起什么作用! 希望明示!
vip__888 2010-07-16
  • 打赏
  • 举报
回复
  • 打赏
  • 举报
回复
[Quote=引用楼主 zjx198934 的回复:]
如题,如要是如何应用值对象来提高系统系能和优化设计!
[/Quote]

谈不到优化。如果只知道低级的东西,就谈不上设计了。
zjx198934 2010-07-16
  • 打赏
  • 举报
回复
我看到很多程序的优化,设计实体的时候都会用值对象,但是我不清楚它是怎么用的,有大虾能简单明要的说说吗!
wuyq11 2010-07-16
  • 打赏
  • 举报
回复
面向对象编程,理解几大原则
兔子-顾问 2010-07-16
  • 打赏
  • 举报
回复
这和设计模式有啥关系。尽量少用结构体。

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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