概述
The Factory Method defines an interface for object creation but let’s the subclass decide which object to create.
他的意思是我们定义一个用来创建对象的接口,但是这个接口应该由子类来实现,并且由子类来决定实例化哪个类。
理解
比如现在有加密器Encryptor,有加密算法EncryptionAlgorithm,加密器可以用不同的加密算法实现加密效果。所以加密器应该持有加密算法的引用,加密器获取加密算法的方法可以抽象,让子类具体实现,子类拿自己需要的加密算法。
ps:因为实在想不出好的案例,参照了Factory Method这个案例,很经典。
本文类图 Sha256Encryptor Sha512Encryptor Encryptor这里的Encryptor是创建EncryptionAlgorithm的工厂。这才是真正工厂方法模式的用法,也参考了菜鸟教程的教程,感觉不是很好,也可以看看。
网友评论