心得经验总结:抽象配置工厂

简介: 心得经验总结:抽象配置工厂

秉承一天写一篇的精神...今天的我又来了.....什么??前面有一天两天漏了?? 哦..那天水浸啦...

写的虽然不是很多旷世巨作,不也相信也不是什么很垃圾的东西..比较都是些程序的积累...经验吧...

今天要现的是抽象配置工厂的实现

配置的实现:

public class ProvidersHanders : IConfigurationSectionHandler

{

IConfigurationSectionHandler 成员#region IConfigurationSectionHandler 成员

public object Create(object parent, object configContext, System.Xml.XmlNode section)

{

XmlSerializer ser = new XmlSerializer(typeof(ProvidersConfiguration));

return ser.Deserialize(new XmlNodeReader(section));

}

#endregion

}

实现configurationsectionhandler接口

【Serializable()】

【XmlRoot("ProvidersConfig")】

public class ProvidersConfiguration

{

private ProvidersCollection providers;

private static yansCache cache = yansCache.Instance;

public ProvidersCollection Providers

{

get { return providers; }

set { providers = value; }//代码效果参考:http://www.ezhiqi.com/zx/art_7276.html

}

public static ProvidersConfiguration GetConfig

{

get

{

if (null == cache【"ProvidersConfig"】)

{

cache.Max("ProvidersConfig", ConfigurationManager.GetSection("ProvidersConfig"));

}

return (ProvidersConfiguration)cache【"ProvidersConfig"】;

}

}//代码效果参考:http://www.ezhiqi.com/bx/art_2207.html

public static Type GetTypeByProviderName(string ProviderName)

{

foreach (SingleProvider sp in GetConfig.Providers)

{

if (sp.ProviderName == ProviderName)

{

return Type.GetType(sp.Type);

}

}

throw new ArgumentNullException("找不到类型:" + ProviderName);

return null;

}

}

配置读取

【Serializable()】

public class ProvidersCollection : CollectionBase

{

public virtual void Add(SingleProvider p)

{

InnerList.Add(p);

}//代码效果参考:http://www.ezhiqi.com/bx/art_1615.html

public SingleProvider this【int index】

{

get { return (SingleProvider)InnerList【index】; }

set { InnerList【index】 = value; }

}

}

配置集合

【Serializable()】

public class SingleProvider

{

private string type;

public

相关文章
|
2月前
|
设计模式
「全网最细 + 实战源码案例」设计模式——模式扩展(配置工厂)
该设计通过配置文件和反射机制动态选择具体工厂,减少硬编码依赖,提升系统灵活性和扩展性。配置文件解耦、反射创建对象,新增产品族无需修改客户端代码。示例中,`CoffeeFactory`类加载配置文件并使用反射生成咖啡对象,客户端调用时只需指定名称即可获取对应产品实例。
92 40
|
7月前
|
项目管理
类与类之间的协作模式问题之抽象工厂模式在工作中体现的问题如何解决
类与类之间的协作模式问题之抽象工厂模式在工作中体现的问题如何解决
|
7月前
类与类之间的协作模式问题之桥接模式在软件开发中应用的问题如何解决
类与类之间的协作模式问题之桥接模式在软件开发中应用的问题如何解决
|
7月前
|
设计模式 项目管理
设计模式的基础问题之生成器模式在项目管理应用的问题如何解决
设计模式的基础问题之生成器模式在项目管理应用的问题如何解决
|
10月前
|
XML Java 数据格式
Bean工厂探秘:解析Spring底层工厂体系BeanFactory的神奇之道
Bean工厂探秘:解析Spring底层工厂体系BeanFactory的神奇之道
151 0
Bean工厂探秘:解析Spring底层工厂体系BeanFactory的神奇之道
|
10月前
|
设计模式
二十三种设计模式全面解析-抽象工厂模式:创造无限可能的工厂之道
二十三种设计模式全面解析-抽象工厂模式:创造无限可能的工厂之道
|
10月前
|
设计模式 XML JSON
二十三种设计模式全面解析-工厂模式:创造对象的魔法工厂
二十三种设计模式全面解析-工厂模式:创造对象的魔法工厂
207 0
|
10月前
|
设计模式 存储 Java
将简单工厂模式改造应用到项目中,而不是纸上谈兵
将简单工厂模式改造应用到项目中,而不是纸上谈兵
75 0
|
供应链
智慧工厂概念
智慧工厂概念
191 0
|
项目管理
CMMI之项目管理类核心框架
CMMI之项目管理类核心框架
209 0

热门文章

最新文章