﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-sjlpc</title><link>http://www.blogjava.net/sjlpc/</link><description /><language>zh-cn</language><lastBuildDate>Wed, 13 May 2026 17:58:32 GMT</lastBuildDate><pubDate>Wed, 13 May 2026 17:58:32 GMT</pubDate><ttl>60</ttl><item><title>领域驱动设计精简版-阅读摘记</title><link>http://www.blogjava.net/sjlpc/archive/2008/05/27/203122.html</link><dc:creator>自由人</dc:creator><author>自由人</author><pubDate>Tue, 27 May 2008 02:07:00 GMT</pubDate><guid>http://www.blogjava.net/sjlpc/archive/2008/05/27/203122.html</guid><wfw:comment>http://www.blogjava.net/sjlpc/comments/203122.html</wfw:comment><comments>http://www.blogjava.net/sjlpc/archive/2008/05/27/203122.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sjlpc/comments/commentRss/203122.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sjlpc/services/trackbacks/203122.html</trackback:ping><description><![CDATA[<p></p>
<span style="font-family: 宋体; ">
<p><span  style="font-family: white-space: pre; ">领域模型不是一副具体的图，它是那副图要极力去传达的那个思想。</span></p>
</span><span style="font-size: 10pt; "><span style="font-family: 宋体; "><span style="font-size: 10pt; "><span style="font-family: 宋体; "><span style="font-family: 新宋体; "><span style="font-size: 8pt; "><span style="font-size: 24pt; "><span style="font-size: 12pt; "><span style="font-size: 10pt; "><span style="font-family: 宋体; "><span style="font-family: 隶书; ">
<pre>实体：有一类对象看上去好像拥有标识符，它的标识符在历经软件的各种状态后仍然保持一致。</pre>
<pre>值对象：如果值对象是可共享的，那么它们应该是不可变的。值对象应该保持尽量的简单。当其他当事人需要一个值对象时，可以简单地传递值，或者创建一个副本。</pre>
<p>
<pre>服务：&#160;&#160;&#160; 1. 服务执行的操作涉及一个领域概念，这个领域概念通常不属于一个实体或者值对象。&#160;</pre>
<pre>&#160;&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;2. 被执行的操作涉及到领域中的其他的对象。&#160;</pre>
<pre>&#160;&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;3.操作是无状态的。</pre>
</p>
<p>
<pre><br />
</pre>
<pre>软件代码应该具有高层次的内聚性和低层次的耦合度：最常用到的两个是通信性内聚和功能性内聚。通信性内聚通常在模块的部件操作相同的数据时使用。把它们分到一组很有意义，因为它们之间存在很强的关联性。功能性内聚在模块中的部件协同工作以完成定义好 的任务时使用。</pre>
</p>
<p>
<pre><br />
</pre>
<pre>聚合是一个用来定义对象所有权和边界的领域模式。工厂和资源库是另外的两个设计模式，用来帮助我们处<span  style="font-family: 隶书; white-space: normal; ">&#160;</span></pre>
<pre>理对象的创建和存储问题。聚合：是针对数据变化可以考虑成一个单元的一组相关的对象。</pre>
</p>
<pre>工厂：帮助封装复杂的对 象创建过程，它就是工厂 （Factory）</pre>
<pre>资源库：资源库会保存对某些对象的引用。当一个对象被创建出来时，它可以被保存到资源库中，然后以后使用时可从资源库中检索到。如果客户程序从资源库中请求一个对象，而资源库中并没有它，就会从存储介质中获取它。换种说法是，资源库作为一个全局的可访问对 象的存储点而存在。</pre>
<pre>重构：重构是不改变应用行为而重新设计代码以让它更好的过程。</pre>
<pre>简化的建模：关于建模的第一件事是阅读业务规范，从中寻找名词和动词。名词被转换成类，而动词则成为方法。</pre>
<pre>最好的实现过程的方式是使用服务。其他的处理过程的不同的方式如，将算法封装进一个策略对象。</pre>
<p>
<pre>约束方法化：将约束置于一个单独的方法让它显示化有很多优点。它很容易阅<span  style="font-family: 隶书; white-space: normal; ">&#160;</span></pre>
<pre>读，如果约束变得更复杂，这可以为向该方法增加更多逻辑提供增长空间。</pre>
<pre><br />
</pre>
<pre>感谢infoq！</pre>
</p>
</span>
<pre>&#160;</pre>
</span>
<pre>&#160;</pre>
</span>
<pre>&#160;</pre>
</span>
<pre>&#160;</pre>
</span>
<pre>&#160;</pre>
</span>
<pre>&#160;</pre>
</span>
<pre>&#160;</pre>
</span>
<pre>&#160;</pre>
</span>
<pre>&#160;</pre>
</span>
<pre><br />
</pre>
<p>&nbsp;</p>
</span>
<p>&nbsp;</p>
<img src ="http://www.blogjava.net/sjlpc/aggbug/203122.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sjlpc/" target="_blank">自由人</a> 2008-05-27 10:07 <a href="http://www.blogjava.net/sjlpc/archive/2008/05/27/203122.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>