PostSharp Framework
•适用于任何代码,而不仅仅是组件接口。
•最佳运行时性能。
•完全支持异步代码。
•通过体系结构验证验证编码指南。
当代码不再适合一个人的大脑时
可以教编译器做更多的工作
交付的不仅仅是指导原则——设计模式通常是使用实现指导原则描述的,有时这些指导原则是完全算法化的,没有留给开发人员任何决策。这正是机器擅长的地方,所以为什么不把这些工作卸载给编译器呢?
实现规模经济——使用PostSharp,您只需编写一个方面一次,每次将其应用到代码库时都可以节省时间并减少源代码。
改进架构
封装模式——Objects是一个很好的封装工具,但它们在解决在整个应用程序中重复出现的功能方面遇到了困难。Aspects是封装需要反复应用的.NET设计模式的正确方法。
降低复杂性——将复杂性转移到各个方面,并在更高的抽象级别编写业务逻辑。
写更干净的代码——代码行数越少,缺陷出现的表面就越小。更容易阅读和理解的代码更容易修改,产生的缺陷更少。
知识倍增
封装经验——经验丰富的开发人员将使用他们独特的知识来构建特定于代码库的方面。部署到团队的其余部分,这些方面将允许任何人轻松地一致地添加复杂的功能。
容易应用——一旦创建的方面非常容易应用和使用。只使用这些方面的开发人员不需要额外的PostShap培训。
最灵活的.NET方面框架
丰富的构建块——Aspects不仅限于使用方法。对事件注册、属性和其他构造执行操作。
表达组合——在编译时使用C#和反射的全部功能组装构建块。
非侵入性——在代码库中添加您想要的功能,而不必更改任何代码。
坚实的基础——自定义方面是使用相同的基础设施和代码,PostSharp内置的设计模式。
卓越的性能
编译时执行——与其他框架不同,PostSharp在编译时完成大部分工作,因此应用程序启动时间仍然很长。
在运行时没有反射——强类型和编译时执行消除了为运行时执行编写反射代码的需要。
实施良好的编码实践
执行设计决策
减少不一致性——根据已建立的模式和准则验证开发人员编写的代码。防止开发人员分心或创造性造成缺陷或不需要的复杂性。
控制对象可见性——有时内部和私有关键字不够。限制哪些命名空间、程序集或类型可以引用成员或实现接口。
在代码检查期间节省时间——自动执行的任何规则都不需要手动检查。
获得更快的反馈
编译时错误——不要等待代码评审的反馈。当代码偏离已建立的模式或准则时,在编译时失败。
构建服务器集成——架构规则也在构建服务器上执行,就像PostSharp的任何部分一样。
错误或警告——您可以选择冲突以导致警告或错误——或在Visual Studio中选择警告并在生成服务器上选择错误。
根据标准和自定义规则在每个构建中验证设计。
不要让架构的意图在一个被遗忘的文档中消失。在可执行代码中表达设计决策,并确保遵循这些模式进行编译时反馈。
•代码级声明
•编译时反馈
•可定制的规则
建立您自己的代码验证规则
熟悉的API——使用您已经知道的.NET反射API为您的特定设计规则创建验证。
高级反射——对于更复杂的场景,PostShap提供了一个扩展反射API,其中包括查找所有引用、查找派生类型、访问表达式树等功能。
Visual Studio集成——自定义规则发出的错误和警告将显示在VisualStudio错误列表中,您可以通过单击它们导航到问题位置。