Taurus.MVC WebAPI 入门开发教程7:业务逻辑基类LogicBase的使用。

2年前 (2022) 程序员胖胖胖虎阿
293 0 0

系列目录

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属性。

Taurus.MVC WebAPI 入门开发教程7:业务逻辑基类LogicBase的使用。
 public class HelloLogic:Taurus.Core.LogicBase
    {
        public HelloLogic(Taurus.Core.IController controller) :base(controller)
        {

        }

        public string GetHello()
        {
            return "Hello World "+Para;
        }
    }
Taurus.MVC WebAPI 入门开发教程7:业务逻辑基类LogicBase的使用。

说明:

这里需要继承基类的构造函数

2、在控制器调用逻辑类:

实例化new的时候,将this自身做为参数传递进去即可。

Taurus.MVC WebAPI 入门开发教程7:业务逻辑基类LogicBase的使用。
 public class HelloController : Taurus.Core.Controller
    {
        public void World()
        {
            HelloLogic helloLogic = new HelloLogic(this);
            Write(helloLogic.GetHello());
        }
    }
Taurus.MVC WebAPI 入门开发教程7:业务逻辑基类LogicBase的使用。

运行调用:

Taurus.MVC WebAPI 入门开发教程7:业务逻辑基类LogicBase的使用。

 总结:

将业务逻辑拆分到业务逻辑项目中,是一种比较常规的做法,可以避免控制器因注释和代码太多引发杂乱的问题。

下一篇介绍:WebAPI文档与自动化测试。

相关文章

暂无评论

暂无评论...