Taurus.MVC WebAPI 入門開發教程7:業務邏輯基類LogicBase的使用。

系列目錄

1、Taurus.MVC WebAPI  入門開發教程1:框架下載環境配置與運行。

2、Taurus.MVC WebAPI 入門開發教程2:添加控制器輸出Hello World。

3、Taurus.MVC WebAPI 入門開發教程3:路由類型和路由映射。

4、Taurus.MVC WebAPI 入門開發教程4:控制器方法及參數定義、獲取及基礎校驗屬性【Require】。

5、Taurus.MVC WebAPI 入門開發教程5:控制器安全校驗屬性【HttpGet、HttpPost】【Ack】【Token】【MicroService】。

6、Taurus.MVC WebAPI 入門開發教程6:全局控制器DefaultController與全局事件。

7、Taurus.MVC WebAPI 入門開發教程7:業務邏輯基類LogicBase的使用。

8、Taurus.MVC WebAPI 入門開發教程8:WebAPI文檔與自動化測試。

後續還有兩個系列:

1、Taurus.MVC 微服務 入門開發教程系列。

2、Taurus.MVC Web應用 入門開發教程系列。
 

前言:

作用:

1、減少控制器的代碼量。

2、解決方案分層清晰化。

詳細說明:

通常控制器提供對外接口,加上註釋(生成WebAPI文檔需要),已經顯的內容有點多了。

因此,不建議在裏面直接寫業務代碼。

建議新建新的業務邏輯項目去實現代碼,

Controller基類的方法或屬性複用

在控制器中直接編碼,可以很方便的使用Query<T>(key)、Write(...)、

或Module、ControllerName、Action、Para等屬性。

爲了方便在邏輯類中延續使用Control基類提供的常用方法,就需要用到業務基類Taurus.Core.LogicBase。

下面進行代碼演示

示例:

1、新建類繼承自邏輯基類,並繼承構造函數。

並編寫業務方法,比如GetHello,在方法中,即可享受在控制器中一樣的編碼,比如下面直接獲取Para屬性。

複製代碼
 public class HelloLogic:Taurus.Core.LogicBase
    {
        public HelloLogic(Taurus.Core.IController controller) :base(controller)
        {

        }

        public string GetHello()
        {
            return "Hello World "+Para;
        }
    }
複製代碼

說明:

這裏需要繼承基類的構造函數

2、在控制器調用邏輯類:

實例化new的時候,將this自身做爲參數傳遞進去即可。

複製代碼
 public class HelloController : Taurus.Core.Controller
    {
        public void World()
        {
            HelloLogic helloLogic = new HelloLogic(this);
            Write(helloLogic.GetHello());
        }
    }
複製代碼

運行調用:

 總結:

將業務邏輯拆分到業務邏輯項目中,是一種比較常規的做法,可以避免控制器因註釋和代碼太多引發雜亂的問題。

下一篇介紹:WebAPI文檔與自動化測試。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章