一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

走向ASP.NET架構設計——第四章:業(yè)務層分層架構(前篇)

  在討論完四種模式之后,我將會和大家一起來看看DDD的一些知識。每種模式的講解,我都會用實例的形式給出完整的代碼,也希望大家多琢磨!

  不是所有的應用程序都是一樣的,也不是所有的系統(tǒng)都需要用復雜的架構來組織業(yè)務邏輯。作為開發(fā)人員,我們必須清楚每一種業(yè)務邏輯組織的模式,這樣我們才能在需要的時候做出合適的選擇。

  Transaction Script

  這種組織業(yè)務邏輯的模式是最簡單,也是最容易理解的。Transaction Script模式就是用面向過程的方式來組織業(yè)務邏輯的。通常情況下,系統(tǒng)的一個流程就被實現(xiàn)為一個方法,然后把所有的這些方法組織在一起,放在一個靜態(tài)的manager類或者service 類中。實現(xiàn)流程的那個方法包含了業(yè)務邏輯的Check和Validation,數(shù)據(jù)的持久化以及其他的一些相關操作。也就是說,一個方法把所有的事情都做完了。當然,有時候這個大的方法還可能被拆成小的方法,便于重用。如下圖所示:

  Transaction Script一個好處就是理解起來很簡單,尤其是當Team中的一個新成員來說,更是如此,因為他幾乎不用花什么時間,就能立刻明白這種組織業(yè)務邏輯的方式。每當來了一個新的需求的時候,要做的事情就是去加上一個或者一些新的方法來是實現(xiàn)這個需求,而其還不會影響其他已經(jīng)存在的功能。

  對于一個很小的或者基本山?jīng)]什么業(yè)務邏輯的系統(tǒng)來說,用Transaction Script模式組織業(yè)務邏輯還是很不錯的,而且對一個剛剛踏入IT的開發(fā)人員門檻也比較低。:當系統(tǒng)開始變大,業(yè)務邏輯開始變得復雜的時候Transaction Script的問題的出來了。最后的結果可能就是系統(tǒng)中存在大量的方法,而且這些方法中到處都是重復的代碼。有的時候,我們可以提煉出一些業(yè)務邏輯的驗證代碼組織為方法,但是我們?nèi)ズ茈y提煉出一些在流程上相識的代碼,即使兩個流程只有一點點的不同。如果系統(tǒng)的需求稍微一邊,導致流程變了一點點,那么很多的方法就要改動,而且我們還得在系統(tǒng)中去找出那些相似的流程代碼,然后修改,萬一哪個方法沒有找出,后果可想而知。

  下面我們就用一個人事請假管理系統(tǒng)為例子來看看Transaction Script是如何實現(xiàn)的。因為Transaction Script很簡單,所以下面的代碼也只是用于演示,大家理解就行了。

public class HolidayService
{
public static bool BookHolidayFor(int employeeId, DateTime From, DateTime To)
{
bool booked = false;
TimeSpan numberOfDaysRequestedForHoliday
= To - From;
if (numberOfDaysRequestedForHoliday.Days > 0)
{
if (RequestHolidayDoesNotClashWithExistingHoliday(employeeId, From, To))
{
int holidayAvailable = GetHolidayRemainingFor(employeeId);
if (holidayAvailable >= numberOfDaysRequestedForHoliday.Days)
{
SubmitHolidayBookingFor(employeeId, From, To);
booked
= true;
}
}
}
return booked;
}

private static int GetHolidayRemainingFor(int employeeId)
{
// ...
}

public static List<EmployeeDTO> GetAllEmployeesOnLeaveBetween(
DateTime From, DateTime To)
{
// ...
}

public static List<EmployeeDTO> GetAllEmployeesWithHolidayRemaining()
{
// ...
}
}

NET技術走向ASP.NET架構設計——第四章:業(yè)務層分層架構(前篇),轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 欧美激情小视频 | 日韩久久久精品首页 | 伊人激情视频 | 日本高清视频wwww色 | 一本色道久久88综合亚洲精品高清 | 精品久久久久久中文字幕 | 5月丁香婷婷| 色www免费视频 | 色哟哟在线观看视频高清大全 | 国语自产自拍秒拍在线视频 | 国内精品小视频在线 | 四虎免费在线观看视频 | 一区精品麻豆入口 | 国产二区精品视频 | a级国产乱理论片在线观看看 | 黄色小视频在线观看免费 | 极品美女在线观看 | 成人综合色站 | 久久线看观看精品香蕉国产 | 国产精品揄拍一区二区 | 中文字幕123区 | 日本精品视频一区 | 精品无码久久久久久国产 | 久久精品视 | 国产成人亚洲精品乱码在线观看 | 一级特黄色毛片免费看 | 国产精选91热在线观看 | 在线观看www日本免费网站 | 婷婷丁香六月天 | 狠狠干狠狠干狠狠干 | 91久久精品一区二区 | 亚洲香蕉网久久综合影院3p | 起视碰碰97摸摸碰碰视频 | 青青草国产免费久久久91 | 成人精品亚洲人成在线 | 国产精品一区二区不卡 | 日韩a无v码在线播放免费 | 美女免费精品高清毛片在线视 | 国产91精品一区二区麻豆亚洲 | 99在线免费播放 | 午夜网站视频 |