系列目錄
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文檔與自動化測試。