zoukankan      html  css  js  c++  java
  • LiteMda my thinking in mda and aop framework diagram draft

     

    关于该方案的基本设计思路是这样的:

    首先,代码生成的基础还是数据库表,但是,提供一个从XMI生成Tables的工具,以支持从UML类图到对应Tables的自动生成,并支持以自定义类型作为其他类的属性的数据类型;

    接着,基于这些Tables,可以生成映射到DomainObjects及为其增加持久化支持的Xml Profile,Xml Profile For Domain Objects基本和其他的o/r映射的xml文件类似,Xml Profile For Persistation则是独立出来的提供关于各个DomainObject的CRUD及其它复杂的自定义的与对应数据库表存取相关的操作,附加操作需要关联到给定sql语句或者存储过程;

    然后,基于上面生成并根据需要修改的Xml Profiles,由框架辅助工具生成相应的DomainObjects和Persisters的接口和默认实现,这里生成接口(各个层面的代码都先生成接口)的目的一是使参数和返回数据采用接口而与具体的代码实现分离,二为了支持各个层面的AOP,目前来讲,个人觉得在业务层织入就够了,原则上不应该修改生成的源码,如果需要织入,撰写需要的织入代码并修改Profile就可以了;

    在上一步生成并扩充的Xml Profile For Persistation的基础上,自动生成默认的Xml Profile For Business/AOP/Transaction,默认生成的代码只指定由数据库外键指定的级联删除事务,可由用户扩充事务及AOP支持的配置信息;

    最后就可以由框架提供的Business Manager来解析并执行具体的业务调用了,对于,特殊业务代码,可以采用AOP的方式,织入或代替默认生成的代码中的部分函数或类,所有UI层的业务代码调用原则上只需访问调用Business Manager的统一接口就可以了。
  • 相关阅读:
    [建树(非二叉树)] 1106. Lowest Price in Supply Chain (25)
    [建树(非二叉树)] 1090. Highest Price in Supply Chain (25)
    [并查集] 1118. Birds in Forest (25)
    [二叉树建树&完全二叉树判断] 1110. Complete Binary Tree (25)
    OAuth2 Backend Web Application 验证过程
    我如何介绍 Microservice
    .NET 的 Debug 和 Release build 对执行速度的影响
    ASP.NET MVC 从零开始
    ASP.NET MVC 从零开始
    Visualize The Workshop
  • 原文地址:https://www.cnblogs.com/teddyma/p/188106.html
Copyright © 2011-2022 走看看