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

.NET 设计模式

starIconstarIconstarIcon
emptyStarIcon
starIcon
emptyStarIcon

3.87/5 (10投票s)

2008年1月20日

CPOL

2分钟阅读

viewsIcon

112398

downloadIcon

2697

设计模式是重复出现的序列,内置的.NET模式分散在整个框架中。

引言

设计模式是重复出现的序列,内置的.NET模式分散在整个框架中。

在实践中,遵循标准软件模式将有助于实现更标准的代码,这些代码是可管理的,并且可以被更多的软件程序员/开发人员和架构师理解。

例如,数据适配器工厂可以创建特定的DBMS适配器。 这个集中类有助于建立一个强大的数据层,该层提供了一种更通用的方式来与业务层通信。

例如

Imports System.Data.Common

dbPFactory = DbProviderFactories.GetFactory(“FactoryName”)
adapter = dbPFactory.CreateDataAdapter() 

通用Adapter类的UML设计,该类利用“DbProviderFactories”工厂和DbProviderFactory来创建一个通用层。

 

图1。

用简单的技术英语来说,工厂模式负责管理和创建来自基类的产品类实例,该基类具有递增的或多于一个的子类。 DbProviderFactories是一个工厂的工厂,它管理.NET 2.0中的DBMS适配器。 在此架构之上构建一个类包装器并提供正确的参数将可以直接生成指定的数据库适配器,以与市场上大多数标准DBMS进行通信。

以下是创建连接到Access数据库的适配器的代码示例

public DataTable GetData()
{
    GenericAdapter.GenericAdapter genericAdapter = null;
    ConnectionStringInfo conInfo = new ConnectionStringInfo();
    DataTable table = null;
    //Supplying parameters to connect to Access db
    conInfo.DataBaseFilePath = @"c:\db.mdb";
    conInfo.ProviderName = "Microsoft.Jet.OLEDB.4.0";
    conInfo.DataSource = "{FilePath}";
    genericAdapter = new GenericAdapter.GenericAdapter("System.Data.OleDb");
    if (genericAdapter.SetConnectionString(conInfo))
    {
        table = genericAdapter.ExecuteTableCommand("MyTable"); //return table data
    }
    return table;
}

单例模式在.NET Framework的许多地方都有实现,例如单实例窗口应用程序。 我们还会在远程处理中处理单例类。

可以通过禁止使用构造函数创建直接类实例来实现单例模式。 这是通过使构造函数为private,并阻止用户创建该类的实例来完成的。

这仅允许从类范围创建实例。 为了在内存中启用单个实例,我们使用static或共享引用到该类,我们将其设置为private以防止public访问,并将其设置为NULL

我们添加一个static或共享函数,该函数检查类static引用是否为NULL。 如果为NULL,则创建一个实例,否则返回先前的实例。

.NET Framework很好地利用了代理模式,该模式是真实对象和客户端对象之间的中介。 当应用代理设计模式时,代理类提供与真实对象相同的服务。 也就是说,它们从相同的基类继承,或者应用相同的接口。 代理类用于远程处理以及与服务通信时。

这些模式定义了扩展框架的路线图。 使用这些模式将使您的应用程序在可扩展性和代码维护方面受益匪浅。

这是.NET设计模式的介绍。 可以从此页面下载使用DBFactory创建通用适配器的示例。

© . All rights reserved.