关于C#抽象工厂模式的问题???

来源:百度知道 编辑:UC知道 时间:2024/06/22 09:15:25
我对抽象工厂的模式的理解,不知道为什么最近老是在大脑里跑这个过程,有两个可能是基础问题吧,不怎么理解,请大牛们办把那个忙
1.为什么在业务逻辑层调用数据访问层方法的时候,可以用抽象产品调用方法?
2.为什么在抽象工厂的一系列接口里,可以写成public abstract 接口 create***(),接口可以这样用吗?

谢谢~~!

可以从实际生活考虑这个问题!
一切都是为了应对需求变化! 程序的的可扩展性!
概念性的东西,可以不必太过认真,非要搞个清楚透彻! 理解是最重要的!

要有全局看问题的心态! 不要死抓一个知识点儿不放!
设计模式就是为解决常用的实际问题而生的! 理论联系实际很重要!

你可以这样理解:在业务逻辑层调用数据访问层方法的时候,调用抽象产品实际上就是调用了实现该抽象方法的具体类。
用工厂模式的好处就是用户不需要知道具体的生产过程,因为用户需要得到的只是实体产品,只需要知道父类产品就可以,这里的父类产品就是抽象类了。
抽象工厂设计模式的概念是:提供一个创建一系列相关或相互依赖对象的接口,而无须指定他们具体的类;
其实,严格来说 abstract 不是接口,但因为多态的关系,可以在别的类当中继承实现具体的方法。

希望可以帮助你~

1.可以更加容易的更换数据库
2.abstract 是抽象类,不是接口,接口多用来定义一种契约,而抽象类多被用进行代码复用。。

1.因为抽象产品是实体方法的父类(因为它实现了接口),根据里士替换原则父类是可以代替子类的
2.那样写只是说明它返回的是一个接口类型,
就好比你写
public Student GetAllStudentInfo(){}
一样