.NET 扩展框架





2.00/5 (7投票s)
2004年7月20日
4分钟阅读

42696

624
使用 DotNetX 扩展 .NET 框架功能 - 免费库,允许您生成代码、缓存数据库对象等。
引言
DotNetX (DotNet eXtended framework) 是一组有助于软件开发中常见任务的库。该框架包括动态管理数据库缓存或连接到不同数据提供者而无需更改代码的方法,以及其他日常任务。
程序包
DotNetX.Configuration
此命名空间包含一个 AppSettings
帮助类和一个 CommandLineArguments
帮助类。
DotNetX.Diagnostics
它包含一个 Trace
类,该类封装了 System.Diagnostics.Trace
以及 Web 跟踪。它还包含 IPerformanceTest
接口,性能测试应实现该接口(此功能将在下一个版本中发布)。
DotNetX.Reflection
它包含反射帮助类。目前,仅提供了一个 Assembly
类。未来的版本将包含更多功能。
DotNetX.RemotablePlugin
这是框架最重要的功能。该框架将工厂模式发展为我们称之为远程插件模式 (RPP - 对不起……命名不是我的强项!)。远程插件模式允许最终开发者自定义实现及其宿主模型,例如,使用远程处理在远程计算机上托管对象。
请注意,这是一种非常不成熟的模式,在将其完全用于生产环境之前,应进行一些稳定工作。需要关注的问题之一是安全性,因为消费者和实现之间没有任何身份验证。
此命名空间包含 FactoryBase
,RPP 对象应从中派生。
DotNetX.Caching
它包含一个基于配置设置的缓存工厂以及 ICacheProvider
的两个实现,例如 WebStorage
,它仅使用 HttpRuntime
缓存,以及 WeakReferenceWebStorage
,它继承自 WebStorage
但使用对象的弱引用,以便在需要资源时 GC 可以收集该对象。
缓存工厂类 (CacheFactory
) 派生自远程插件模式 (RPP),允许,例如,在另一台机器上使用 .NET Remoting 托管缓存,甚至使用公共存储库在不同应用程序之间共享缓存。
DotNetX.Context
它包含上下文功能,封装了 HttpContext
和调用上下文。它还使用工厂,因此您可以自定义最终实现,并且还遵守 RPP。
DotNetX.Security.Cryptography
它包含一个实现 RPP 的 Symmetric
工厂类。它还包含一个 Symmetric
基类,对称算法实现应从中派生。此命名空间还包含一些已知的对称算法实现。
DotNetX.Text
文本操作类。
DotNetX.Data
此命名空间包含一个类 (CommandHelper
),有助于执行数据库命令。这些类的一个主要特点是它们完全独立于数据提供者,因为它只知道 IDb
接口,并且最终实现也可以在 app.config 中配置。这意味着您可以使用最佳数据提供者连接到数据库,同时使您的代码完全独立于它,只需使用这个独立的类即可。另一方面,如果您需要直接使用 IDb
对象,如 IDbConnection
或 IDbCommand
,ProviderFactory
类中提供了一个工厂,这意味着您的代码将继续保持独立。
此命名空间还包含一个非常重要的对象 ConnectionContext
,它保存一个连接上下文以执行数据库命令。此对象可用于启动事务并在组件之间传递事务。
DotNetX.TableReflection
表反射是一种模式,您创建数据访问组件来反映您的数据库。这种模式允许仅在必要时才访问数据库的强大功能,因为对同一表的所有调用都通过单个对象完成,并且该对象可以控制何时过期或使用缓存而不是访问数据库。有关此功能的更多详细信息将在未来的文档和版本中发布,因为此功能可能随着下一个版本发布的代码生成而变得更加强大。如果您想在文档发布前了解更多信息,可以查看源代码中的 nUnit 项目,其中包含了一些示例。
请注意,要使用此模式,您必须从 EntityBase
派生,并使用 Attributes
命名空间中的属性来记录您的类。
还提供了一个绑定帮助类,允许在使用 IEntity
类时动态生成用户界面。
最后说明
这是 DotNetX 的第一个版本,因此请理解可能会出现一些不成熟的代码。
下一个版本将包含代码生成库和工具,以及编写自己的代码生成模式的能力。
有关最新版本的详细信息,请访问 http://www.dotnetx.org/ 或 http://workspaces.gotdotnet.com/dotnetx。