• <sup id="q8qqq"></sup>
    
    <cite id="q8qqq"><ul id="q8qqq"></ul></cite>
  • <noscript id="q8qqq"><optgroup id="q8qqq"></optgroup></noscript>
    <nav id="q8qqq"><code id="q8qqq"></code></nav>
  • <small id="q8qqq"></small>
  • 国产97人人超碰caoprom…,日本最新免费二区三区在线观看,18AV无码不卡在线,一本性道在线视频无码看,亚洲高清无码黄色一级片,国内久久久久久久久久久

    您的位置: 首頁 > 資訊 > 設(shè)計

    asp.net架構(gòu)設(shè)計解惑

    藝術(shù)中國 | 時間: 2010-07-30 08:42:36 | 文章來源: 博客園

    代碼

    public class OrderManager

    {

    public void PlaceOrder(OrderDTO order)

    {

    // Validate order based on business rules

    // Check for stock availablity on items ordered

    // Add the order to the database

    // Set the order id on the OrderDTO object

    }

    public bool CancelOrder(Guid orderId)

    {

    // Retrieve order from database

    // Determine if the order can be canceled

    // if order can be canceled, set as canceled

    // return true/false if order was canceled

    }

    public bool AddItemToOrder(Guid orderId, OrderItemDTO ItemToAdd)

    {

    // Retrieve order from database

    // Determine if the item can be added to the order

    // Add a new item row in the database

    // return true/false if item was added to the order

    }

    public bool ProcessOrder(Guid orderId)

    {

    // Check to ensure this order can be processed.

    // Validate order based on business rules

    // Update the stock levels of products ordered

    // return true/false if order was processed

    }

    }

    在上面的代碼中,所有和訂單處理有關(guān)的邏輯都寫在OrderManager類中。類中的每一個方法就對應(yīng)業(yè)務(wù)邏輯中的一個流程或者說對應(yīng)一個use case,例如:CancelOrder就是取消訂單。

    通過Transaction Script的方式來組織業(yè)務(wù)邏輯,一個很好的好處就是直觀,很容易理解代碼在做什么。如果有新的流程來了,再加一個方法就行了。

    同時,這種組織方式的弊端就在于,當系統(tǒng)中的業(yè)務(wù)變得多而且復(fù)雜的時候,那么這樣的方法就開始變多,最后的結(jié)果就是一個類中有成百上千個方法。而且這些方法中,除了一些基本的驗證可以提取為方法重用,其他的流程控制代碼在很多的地方要重寫,特別是當有兩個流程差不多的時候,代碼不可避免的重新寫。于是,這樣的類開始變得龐大而難以管理。

    Active Record

    這種組織方式已經(jīng)是我們最熟悉的了。

    在很多的項目中,我們的業(yè)務(wù)實體類基本和數(shù)據(jù)庫中表是一一對應(yīng)的,例如一個Order業(yè)務(wù)類就是代表了數(shù)據(jù)庫中的Order表。而且在平時項目中,”樸實的三層(N層)”,一般都是基于這種方式在組織邏輯。

    這種方式的最大的區(qū)別就是每個業(yè)務(wù)類自己負責自己的數(shù)據(jù)存取,也就是說在業(yè)務(wù)類中包含了業(yè)務(wù)邏輯的處理和數(shù)據(jù)的存取。

       上一頁   1   2   3   4   下一頁  


    相關(guān)文章
    注:凡注明 “藝術(shù)中國” 字樣的視頻、圖片或文字內(nèi)容均屬于本網(wǎng)站專稿,如需轉(zhuǎn)載圖片請保留 “藝術(shù)中國” 水印,轉(zhuǎn)載文字內(nèi)容請注明來源藝術(shù)中國,否則本網(wǎng)站將依據(jù)《信息網(wǎng)絡(luò)傳播權(quán)保護條例》維護網(wǎng)絡(luò)知識產(chǎn)權(quán)。
    打印文章    收 藏    歡迎訪問藝術(shù)中國論壇 >>
    發(fā)表評論
    用戶名 密碼
     
    尚無評論

    留言須知

    国产97人人超碰caoprom…
  • <sup id="q8qqq"></sup>
    
    <cite id="q8qqq"><ul id="q8qqq"></ul></cite>
  • <noscript id="q8qqq"><optgroup id="q8qqq"></optgroup></noscript>
    <nav id="q8qqq"><code id="q8qqq"></code></nav>
  • <small id="q8qqq"></small>