抽象工厂配置易错问题

感觉自己有一个很致命的弱点就是不敢行动。怕出错,尤其是在机房中更是突出这个缺点。在开始用抽象工厂时,先查了很多资料之后才开始编程,原以为可以万无一失,经历了之后才发现根本没有任何人写的东西可以天衣无缝的解决你所有的问题,就像一个人一样如果你自己不去实践一下看再多的理论也只不过是纸上谈兵。这些看似浅显的道理在我的编程路上却忘记了。

我的配置文件

在工厂中的代码为:

本以为按着大话设计模式中写的那样就是以上代码应该没有问题,但是后来在调试过程中总是显示找不到对象的类。也就是说工厂没有成功的创建接口类。在反复检查之后对比自己的代码跟书上的有何不同,发现自己的代码框架由于是在EA中导出的所以加上了namespace。这样上面这个D层的类的完整名称应该是SqlDAL.SqlDAL.BasicDateSetDAL类,而我以上的代码建立的是SqlDAL.BasicDataSetDAL类这样的话当然找不到对应的类会报错说有Null。并且以上代码中顺序也有问题,本打算尽可能多的抽出一下复用代码,但是忽略的顺序的问题,classdal开始没有赋值,所以classname只是sqlDQL而classdal部分为null,而在function里面只是复制了classdal却没有重新给classname赋值。这样的话classname最终为null于是会提示没有找到对象。

只要稍加修改就可以如下:

时间: 2024-11-25 19:48:47

抽象工厂配置易错问题的相关文章

路由器配置易错

要求:PC_A和PC_D.PC_B和PC_E.PC_C和PC_F属于同一vlan,中间的三个路由器配置为trunk模式 分析: DeviceA和DeviceB配置类同,给PC机划分vlan,Device连接路由器的端口配置为trunk模式(port link-type trunk )并允许所有的vlan能通过(port trunk permit vlan all) 配置DeviceC,将端口配置为trunk模式并允许所有vlan能通过 此时,会发现PC_A访问PC_D不通,使用命令dis vla

[设计模式]第三回:抽象工厂模式(Abstract Factory)

概述 在系统中往往会有这种需求,客户端会用到很多对象,而且根据需求变化很可能会切换成另外一套对象.抽象工厂模式可以提供一种封装机制来面对这种需求. 实践 物理模型: 皮肤主题:设计一个可以切换皮肤主题,切换为 黑色 和灰色样式,每个元素的样式都要单独定义,如Input的样式,button的样式,这些所有的元素样式组成一套皮肤主题. 根据模型,先抽象,每种元素相当于一种产品,如button /// <summary> /// Button按钮样式 /// </summary> pub

C#之三十九 抽象工厂模式

在软件系统中,经常面临着"一系列相互依赖的对象"的创建工作:同时由于需求的变化,往往存在着更多系列对象的创建工作.如何应对这种变化?如何绕过常规的对象的创建方法(new),提供一种"封装机制"来避免客户程序和这种"多系列具体对象创建工作"的紧耦合?这就是我们要说的抽象工厂模式. 重点: ?      抽象工厂模式概念 ?      抽象工厂模式的模型图 ?      抽象工厂模式访问多种数据库 预习功课: ?      什么是抽象工厂模式 ?  

抽象工厂模式

思考:工厂方法模式:http://www.cnblogs.com/maggiejyt/p/7561253.html 工厂方法模式UML: 问题:如果这家工厂不止要生产Ball(球),还要还有Sneakers(球鞋)等 则UML图为 当Product有多种类时则是抽象工厂模式 代码(Ball的代码见简单工厂模式:http://www.cnblogs.com/maggiejyt/p/7561253.html) Sneakers(球鞋抽象类) package com.maggie.FactoryMet

Java设计模式—工厂方法模式&amp;抽象工厂模式

工厂方法模式与抽象工厂模式都是设计模式中重要而且常见的模式.       工厂方法模式:定义一个用于创建对象的接口,让子类决定实例化哪一个类.工厂方法使一个类的实例化延迟到其子类. 通用类图如下: 在工厂方法模式中,抽象产品类Product负责定义产品的共性,实现对事物最抽象的定义:Creator为抽象创建 类,也就是抽象工厂,具体如何创建产品类是由具体的实现工厂ConcreteCreator完成的. 工厂方法模式的扩展方式有很多种,下边是工厂方法模式一个比较实用的源代码: 抽象产品类: pub

大话设计模式:抽象工厂模式

抽象方法模式:提供一个创建一系列相关或互相依赖对象的接口,而无需指定他们具体的类. 三种模式的对比:   简单工厂模式 工厂模式 抽象工厂模式 产品 可以有多个但是都属于同一类, 同一等级.都继承产品抽象类. 可以有多个但是都属于同一类,同一等级. 都继承产品抽象类. 可以有不同种类的产品,每类有多中 具体产品: 抽象产品 只能有一个 只能有一个; 多个抽象产品类:每个抽象产品类可 以派生多种具体产品: 抽象工厂类   只能有一个,可以派生出多个具体工厂类: 只有一个,可派生出多个具体工厂类:

【设计模式】1、抽象工厂模式

对于这个抽象工厂的相应的代码实现 /** * 功能:抽象工厂模式的作用 适用性 1.一个系统要独立于它的产品的创建.组合和表示时. 2.一个系统要由多个产品系列中的一个来配置时. 3.当你要强调一系列相关的产品对象的设计以便进行联合使用时. 4.当你提供一个产品类库,而只想显示它们的接口而不是实现时. * 时间:2016年2月11日22:18 * 作者:cutter_point */ package com.shejimoshi.create.AbstractFactory; public in

JAVA设计模式之抽象工厂模式 (转)

前面已经介绍过简单工厂模式和工厂方法模式,这里继续介绍第三种工厂模式-抽象工厂模式,还是以汽车的制造为例. 例子背景: 随着客户的要求越来越高,宝马车需要不同配置的空调和发动机等配件.于是这个工厂开始生产空调和发动机,用来组装汽车.这时候工厂有两个系列的产品:空调和发动机.宝马320系列配置A型号空调和A型号发动机,宝马230系列配置B型号空调和B型号发动机. 概念: 抽象工厂模式是工厂方法模式的升级版本,他用来创建一组相关或者相互依赖的对象.比如宝马320系列使用空调型号A和发动机型号A,而宝

设计模式之抽象工厂模式

抽象工厂模式:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类. 最大的好处便是易于交换产品系列,由于具体工厂类,在一个应用中只需在初始化的时候出现一次,这就使得改变一个应用的具体工厂变得非常容易,它只需改变具体工厂即可使用不同的产品配置. 他使具体创建实例的过程与客户端分离,客户端是通过它们的抽象接口操纵实例,产品的具体类名也被具体工厂的实现分离. 下面的代码还使用了反射与XML. 代码如下: using System; using System.Collections.Ge