Rafy 框架升级:重构 Rafy.DataPortal 数据门户

Rafy

Rafy 3.85.4140 重构了数据门户,更新内容:

    * 重构 DataPortal 内部结构。为 DomainController 更好地应用远程调用而做准备。
        * Rafy.Domain.DataPortal 命名空间,升级为 Rafy.DataPortal,并移动到 Env 文件夹中,其与 Domain 不再耦合。
        * 添加 IDataPortalTarget、IDataPortalTargetFactory、DataPortalCallInterceptor 等类型。
        * 删除一些冗余的远程调用判断逻辑,如 RepositoryInterceptor、DataPortaApi 等。
        * 删除了无用的 DataPortalFacade 类型。
        * 将 FetchRequest、UpdateRequest 合并为 CallRequest。
        * 添加 FakeRemoteProxy。
        * EntityRepositoryExt 支持远程调用。
        * 支持对指定的参数进行双向传输,如 PagingInfo。
        * 属性支持设置其是否可强制序列化的状态。
        * 父引用属性默认不支持序列化。(但是贪婪加载时,其会被打开它的强制序列化。)
        * BugFix:列表属性的 ManagedPropertyField 在有状态时,使用 MPFV进行序列化,会出现无法反序列化的问题。

重构前的结构:

重构后的类结构:

主要的重构设计内容:

  • 解除 DataPortal 与 Domain 中的 EntityRepositoy、Service 等类型的依赖。
  • 简化 FinalDataPortal 的调用关系。
  • 设计了 IDataPortalTarget 扩展点,方便扩展更多的可远程调用目标类型。
posted @ 2021-11-17 08:08  BloodyAngel  阅读(109)  评论(0编辑  收藏  举报