65.9K
CodeProject 正在变化。 阅读更多。
Home

.NET 扩展框架

starIconstarIconemptyStarIconemptyStarIconemptyStarIcon

2.00/5 (7投票s)

2004年7月20日

4分钟阅读

viewsIcon

42696

downloadIcon

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 对象,如 IDbConnectionIDbCommandProviderFactory 类中提供了一个工厂,这意味着您的代码将继续保持独立。

此命名空间还包含一个非常重要的对象 ConnectionContext,它保存一个连接上下文以执行数据库命令。此对象可用于启动事务并在组件之间传递事务。

DotNetX.TableReflection

表反射是一种模式,您创建数据访问组件来反映您的数据库。这种模式允许仅在必要时才访问数据库的强大功能,因为对同一表的所有调用都通过单个对象完成,并且该对象可以控制何时过期或使用缓存而不是访问数据库。有关此功能的更多详细信息将在未来的文档和版本中发布,因为此功能可能随着下一个版本发布的代码生成而变得更加强大。如果您想在文档发布前了解更多信息,可以查看源代码中的 nUnit 项目,其中包含了一些示例。

请注意,要使用此模式,您必须从 EntityBase 派生,并使用 Attributes 命名空间中的属性来记录您的类。

还提供了一个绑定帮助类,允许在使用 IEntity 类时动态生成用户界面。

最后说明

这是 DotNetX 的第一个版本,因此请理解可能会出现一些不成熟的代码。

下一个版本将包含代码生成库和工具,以及编写自己的代码生成模式的能力。

有关最新版本的详细信息,请访问 http://www.dotnetx.org/http://workspaces.gotdotnet.com/dotnetx

© . All rights reserved.