JiveJdon站内消息设计

上篇

模型设计图:

以ShortMessage为主模型,站内消息分收到的消息和发出的消息两种,根据这两种,分别建立ShortMessage的两个子类FromShortMessage和ToShortMessage;FromShortMessage中目前没有任何与收消息相关的特殊特征;而ToShortMessage则有发出消息的特征,就是当对方阅读该发出的消息时,必须标记该发出消息为已读。
对应模型的Jdon框架配置就如下,分别为FromShortMessage和ToShortMessage建立相应CRUD:
  <model key="msgId"
        class="com.jdon.jivejdon.model.FromShortMessage">
           <actionForm name="fromShortMessageForm"/>
           <handler>
               <service ref="shortMessageService">            
                  <getMethod    name="getFromShortMessage"/>
                  <createMethod name="saveShortMessage"/>
                  <updateMethod name="updateShortMessage"/>
                  <deleteMethod name="deleteShortMessage"/>
               </service>
           </handler>
        </model>         
       
        <model key="msgId"
        class="com.jdon.jivejdon.model.ToShortMessage">
           <actionForm name="toShortMessageForm"/>
           <handler>
               <service ref="shortMessageService">
                    <initMethod   name="initShortMessage"/>                  
                  <getMethod    name="getToShortMessage"/>
                  <createMethod name="saveShortMessage"/>
                  <updateMethod name="updateShortMessage"/>
               </service>
           </handler>
    </model>         
Struts-config.xml中ActionForm的配置
<form-bean name="fromShortMessageForm"  type="com.jdon.jivejdon.presentation.form.ShortMessageForm"/>
    <form-bean name="toShortMessageForm"  type="com.jdon.jivejdon.presentation.form.ShortMessageForm"/>
在界面表现层,虽然命名为两个ActionForm : fromShortMessageForm和toShortMessageForm,但是它们实则是同一个Form。
那么我们在界面进行处理时,需要分清楚当前是收件箱还是发件箱,如果是收件信息列表,那么对应的是fromShortMessageForm。
以上消息模型设计可以总结一些规律:
很多情况下:同一个实体在不同情况下表现为不同形式,尽管这些形式不同,但他们实体内容基本一致,那么是否为他们的不同表现形式建立不同实体子类呢?关键是:这种形式不同是否会影响业务不同的操作,比如收到消息和发送消息初一看是否两者消息内容是一样的,我们很容易使用抽象思维,用一个消息模型来抽象他们,可以达到精炼目的;但是这种抽象消息在不同状态情况下就有不同形式,在收件箱中就是收到消息;在发件箱中就是发送的消息,它们又从抽象落实具象的不同,所以,我们就设计上述模型图,体现抽象和具象区别不同。做到收发有余。

 

继承模型的编程模型

    消息模型是一个父子继承关系,这样父子继承关系的模型如何使用Jdon框架来简单明了的实现,下面根据消息模型的实践总结为最佳实践如下图:

全文可见

回第一页