您的位置:首页 > 其它

抽象工厂+放射+配置文件

2017-01-14 20:39 183 查看

前言

动手敲机房了,用的时候才知道当时学设计模式的时候不是真的理解了。自己敲了后又重新认识了一次。

内容

抽象工厂很好的遵守了开放封闭原则,在不影响系统运行的情况下用户灵活的更换数据库。

初步理解的反射:B层调用D层的东西不去直接用,调用的是抽象工厂,通过抽象工厂层返给B层D层的东西,反射是在抽象工厂里实现的。

反射的优点:很好的降低了耦合性,增加了程序的灵活性和扩展性。(理解的很抽象)

官方定义:反射,一种计算机处理方式。是程序可以访问、检测和修改它本身状态或行为的一种能力。(我没有懂!)

机房的抽象工厂代码:

public class Factory
{
// 取配置文件里的值。
private static readonly string AssemblyName = ConfigurationManager.AppSettings["AssemblyName"];
private static readonly string className = ConfigurationManager.AppSettings["className"];

public  IDAL.IuserinfoDAL select()
{
// 返回给B层D层的类。
return (IDAL.IuserinfoDAL)Assembly.Load(AssemblyName).CreateInstance(className);
}
}


配置文件优点:项目开发完便于维护,当有需要修改的地方不用改程序,直接改配置文件,不会对程序造成什么副作用。

配置文件代码:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
<appSettings>
<add key ="connstring" value ="Server=DESKTOP-A9EEBCD; Database=JFCG; User ID=sa; Password=1"/>
<add key ="AssemblyName" value ="DAL"/>
<add key ="className" value ="DAL.SqlServerUser"/>
</appSettings>
</configuration>


总结

注意:配置文件写在什么位置,不是哪层用写在哪,是统一都写在U层的。嘻嘻,通过我犯错来长大家的经验了。

去做,不懂就要刨根问底儿。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: