我看了几篇关于工厂模式的文章,有一些地方没有弄懂,简单工厂模式很容易理解,但工厂模式有一点问题
我看了一下工厂模式都是先有一个工厂接口,它可以由多个工厂,所有的工厂都继承这个接口,每个产品也都具有相同的接口,这个都很好理解,但是我看了一下例子,每一次用户要得到一个产品,都必须先得到一个工厂然后,通过工厂接口提供的方法得到一个实力化的对象,这个和我直接实力化对象有什么区别他的优势有在那里
我看到文章说工厂模式比简单工厂模式的优势在于,他的扩展性,但是看例子,每一次如果有新的产品,都必须先生成一个工厂,他的扩展性又是从什么地方体现
我看了一下工厂模式都是先有一个工厂接口,它可以由多个工厂,所有的工厂都继承这个接口,每个产品也都具有相同的接口,这个都很好理解,但是我看了一下例子,每一次用户要得到一个产品,都必须先得到一个工厂然后,通过工厂接口提供的方法得到一个实力化的对象,这个和我直接实力化对象有什么区别他的优势有在那里
我看到文章说工厂模式比简单工厂模式的优势在于,他的扩展性,但是看例子,每一次如果有新的产品,都必须先生成一个工厂,他的扩展性又是从什么地方体现
OracleConnection conn = new OracleConnection();这时,你争对的是特定的数据提供者,如果你需要换成SqlConnection,你是否会改成
SqlConnectionconn conn = new SqlConnection();面象对象的精髓是针对接口编程,如果你这样定义
IConnectionconn conn = null;当然需要连接时conn = ConnectionFactory.Create();ConnectionFactory.Create()根据你的配置文件或参数,把IConnectionconn的具体实体放在使用的时候,这样是不是更灵活。应用接口的好处很多再比如你有一个方法
public void Eate(IFood food)如果你这样定义
public void Eate(Rice food)你说哪一个应用更灵活?public void Open()