码迷,mamicode.com
首页 > 其他好文 > 详细

ATK-DataPortal 设计框架(三)

时间:2018-09-23 16:24:42      阅读:226      评论:0      收藏:0      [点我收藏+]

标签:技术   github   不能   应用   不同的   网络环境   迭代   兴趣   ace   

边界清晰、服务自治、契约共享、基于策略的兼容性,是面向对向设计时四个基本原则,我们的应用可能分布在不同的环境之中,应用可能在同一服务器中,也可能在不同的网络环境中,保证框架的基类能在不同环境中仍然可用,也就是在分布式环境中仍然可用,是框架设计的一个目标。

为保证业务逻辑和数据访问能正确分离,框架设计了数据门户,以使在必要时,保证数据层和业务层分布在不同的逻辑环境中时业务访问仍然可用。

框架设计了两个数据门户,一是支持本地访问,二是支持WCF服务访问

技术分享图片

数据门户的通过IDataPortal接口的类DataPortal<E>来实现的

一、IDataPortal接口

 

 public interface IDataPortal<E>  where E : BusinessBase, IBusinessBaseContext

    {

        OperateState Insert(E obj);

 

        OperateState Delete(E obj);

 

        OperateState Update(E obj);

 

        E Fetch(E obj);

 

        OperateState Execute(E obj);

}

 

实现了增删改查的基本数据方法,同时也定义了支持执行类型的数据操作Execute(E obj);方法。

 

二、DataPortal<E>类,是门户类的实现

    public class DataPortal<E> : IDataPortal<E> where E : BusinessBase, IBusinessBaseContext

    {

}

DataPortal<E>类简单的实现的IDataPortal接口所定义的方法,其实际的操作在两个代理类

 

三、LocalProxy<T>本地代理

本地代理主要是为当前前端和服务器端布署在应用服务中,此时,前端可直接访问到数据层,不需要复杂的操作。

四、WcfProxy<T> WCF代理

WCF代理类处理业务层和数据层不能直接访问,数据层中的业务是通过WCF服务向其他应用公开的,WcfProxy<T> 提供了一个一至的服务访问,所有基于ATK-DataPortal的基类实现的类,都可通过WcfProxy<T> 提供的方法正确访问。

 

 

----

ATK

1、一个完整支持分布式服务框架;

2、代码生成工具,可快速生成基于服务框架的应用;

3、其他支持库

4、完整代码可在GitHub的https://github.com/azthinker ;开源中国 https://gitee.com/azthinker

目标:使应用开发,低代码、高效率、快迭代

有兴趣的请在QQ群中参与讨论、联系作者  QQ群名称:ATK高效开发 ,QQ群号:747049962

也可发邮件至:azthinker@sina.com

Demo中的数据库、编译好的代码工具链接:https://pan.baidu.com/s/1B9RQm7_-SFyhLb_HLIGs0w 密码:85q6

ATK Demo使用的数据库 : https://download.csdn.net/download/xftyyyyb/10675497

ATK自动代码工具 :https://download.csdn.net/download/xftyyyyb/10675490

 

 

 

 

 

 

ATK-DataPortal 设计框架(三)

标签:技术   github   不能   应用   不同的   网络环境   迭代   兴趣   ace   

原文地址:https://www.cnblogs.com/athinker/p/9692729.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!