zoukankan      html  css  js  c++  java
  • 代码生成的思考:MyMeta提供数据库架构,反射、Emit提供构建的提供动态创建的环境

    首先介绍几篇文章:

    Emit学习系列文章导航

    使用 MyMeta 组件获取数据库结构

    来一点反射,再来一点Emit —— 极度简化Entity!

    都是很好的东西啊,当然了思考这些的前提是对反射、程序集、域都有一定概念并有过一些尝试,否则就有点累了。
    Emit对于熟悉反射的人来说它就是用来写入信息(程序),比如创建类、方法等等。
    这里不得不说下,我对于 IL真的是很不爽,以前学汇编就是,尽管很努力了,但都停留在很概念的程度上,想要熟练是没有那个动力的。但是不要灰心,不会怕什么,咱可以这样,先用代码写,然后用idm来查看IL就可以了。虽然这是个方法,但是总归不爽不是,这里介绍一个Reflector的插件:ReflectionEmitLanguage。是不是太爽了,对了,第一次用的人可能找不到看它的地方,在添加了插件后在菜单上的语言选择的地方就可以看到了。
    好了那么构造类的一切阻碍都扫平了,接下来进入代码架构。
    熟悉多层架构的人对实体一定不陌生,这个让人极度郁闷的东西,太恶心了,呵呵,总是一个个不停的写,干脆用代码生成工具吧,总比自己写的差点,虽然实体里头没啥东西,但是跟实体相关的其它类等等都是问题。
    还有就是跟数据库总是不同步(^_^需求经常更改),有了Emit这个利器后,就是数据库的问题了,MyMeta出场了,它的命名规则和架构太帮了,写起代码来虽然不太习惯,但是不得不承认非常非常的简洁。有它写起跟数据库有关的东西就太简单了啊哈。
    最后就是对反射Emit简化Entity的一些问题,第三篇文章也非常的好,可以借鉴下。
    作者:KKcat
        
    个人博客:http://jinzhao.me/
        
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    日志收集
    解决spawn-fcgi child exited with: 1
    confluence启动关闭
    Informatica 启动、停止工作流命令
    启动obiee
    oracle修改连接空闲自动断开
    ORA-00845: MEMORY_TARGET not supported on this system
    svn执行clean up命令时报错
    手游推广
    phonegap/cordova 升级版本
  • 原文地址:https://www.cnblogs.com/jinzhao/p/1535426.html
Copyright © 2011-2022 走看看