近来发现的编程语言的特性和编程技巧

1.  反射机制(C#,Java)

Java反射是Java被视为动态(或准动态)语言的一个关键性质。这个机制允许程序在运行时透过Reflection APIs取得任何一个已知名称的class的内部信息,包括其modifiers(诸如public, static 等)、superclass(例如Object)、实现之interfaces(例如Cloneable),也包括fields和methods的所有信息,并可于运行时改变fields内容或唤起methods。

Java反射机制容许程序在运行时加载、探知、使用编译期间完全未知的classes。

换言之,Java可以加载一个运行时才得知名称的class,获得其完整结构。

citation: http://www.cnblogs.com/quincy/archive/2011/06/19/2084557.html

C#反射:程序集包含模块,而模块包含类型,类型又包含成员。反射提供了封装程序集、模块和类型的对象(Type 类型)。可以使用反射动态创建类型的实例,将类型绑定到现有对象,或从现有对象获取类型并调用其方法或访问其字段和属性。如果代码中使用了属性,可以利用反射对它们进行访问。

反射是一种允许用户获得类型信息的C#功能。术语“反射”源于它的工作方式,Type对象映射它所代表的底层对象。
Using .NET: Avoid Common Performance Pitfalls for Speedier Apps
-> msdn.microsoft.com/zh-cn/magazine/cc163759(en-us).aspx
when:
1).根据契约(contract{interface or base class},与扩展点相关)编程,第三方插件库负责对契约进行实现
2).一个程序集中只调用一部分类

此示例使用反射获取已加载的程序集的完整名称:

C#
// Using Reflection to get information from an Assembly:
System.Reflection.Assembly o = System.Reflection.Assembly.Load("mscorlib.dll");
System.Console.WriteLine(o.GetName());

输出为:

mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089


反射在下列情况下很有用:

反射与接口实现、继承结合起来,更能发挥出它的优势。

citation:http://blog.csdn.net/xiaolei1982/article/details/2294364

C#反射之Assembly.Load,Assembly.LoadFile 与 Assembly.LoadFrom方法的异同,参见:http://blog.chinaunix.net/uid-26790551-id-3188017.html



2.  单元测试(C#,Java)

多数Java的开发环境都已经集成了JUnit作为单元测试的工具,如Eclipse。扩展TestCase类即可编写测试用例。

Visual Studioi也集成了单元测试功能。其中多用到断言Assert类的静态方法来对结果做判断。



3.  svn,cvs,git版本控制工具,便于团队协作开发,能够共同维护整个程序版本。



4.  Config.xml用户自定义属性设置,在程序加载时载入,可以较为方便用户更改自己的各种配置。



5.  用户自定义事件...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值