当前位置:首页 » 编程博文
开发技术指南» 文章正文
    引言: 动态生成一个类对于AOP,O/R Mapping等技术非常有帮助。
 

 

 ·md5算法研究(转载)    »显示摘要«
    摘要:综述   md5的全称是message-digest algorithm 5(信息-摘要算法),在90年代初由mit laboratory for computer science和rsa data security inc的ronald l. rivest开发出来,经md2、md3和md4发展而来。它的作用是让大容量信息在用数字签名软件签署私人密匙前被"压缩"成一种保密的格式......
    摘要:在可行性分析之后,项目计划与质量管理将贯穿需求分析、系统设计、程序设计、测试、维护等软件工程环节。 项目计划是要提供一份合理的进程表,让所有开发人员任务明确、步调一致,最终共同准时地完成项目。项目计划是要付诸实施的,不象用嘴巴喊政治口号,可以很夸张。软件的项目计划重在“准确”而非“快速”。 提高质量是软件工程的主要目标。但由于软件开发是一种智力创......


通过Emit实现动态类生成

动态生成一个类对于aop,o/r mapping等技术非常有帮助.对于java来说,问题不大,而对于.net,则要麻烦些(主要麻烦在于实现代码的生成需要il),故猜测这可能也是在aop, o/r mapping方面,java走得略前的原因吧.

假设有如下接口: 【程序编程相关:坚持学asp.net——(八)

麻烦归麻烦,非不能也,动态生成一个简单的类还不至于太难. 【推荐阅读:Regular Expressions

    { 【扩展信息:软件测试之我见---现状篇

    interface ianimal

        void move();

        void eat();

    }

希望能创建一个类生成器typecreator,并能以以下方式使用:

typecreator tc=new typecreator(typeof(ianimal)); type t = tc.build(); ianimal myanimal= (ianimal)activator.createinstance(t); myanimal.move(); myanimal.eat();

首先,发现system.reflection.emit.typebuilder似乎就是一个现成的类生成器. 不过typebuilder既没有实用的static方法,也不能在外部实例化.不过modulebuilder倒有一个definetype()方法,可以得到typebuilder;而modulebuilder与typerbuilder一个德行,不能直接创建,得从assemblybuilder的definedynamicmodule()方法得到.追根溯源,assemblybuilder得从appdomain的definedynamicassembly()的得来.最终好在appdomain提供了一个静态方法:appdomain.currentdomain. 这一连串并非没有道理,类型是依附于module的,而module依附于assembly,而assembly则被appdomain装载.所谓“皮之不存,毛将焉附”,为了创建type这个“毛”,得先把assembly,module这些“皮”依次构造出来:


...   下一页
    摘要: 你言我语机制对“非强人”产品经理的作用: > 集体智慧,大于一个“强人”的聪明 > 从产品经理的角色,其衔接/组织要远大于其决策/实施的作用 > 一个产品线的诞生,往往来自公司高层的一个点子,也可能来自编辑部/市场部的一个发现,或想模仿或想超越 > 往往点子出处无法完成“丰满”一直到“实施......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE