很多小伙伴,不知道设计模式是什么?今天编程党找到张老师来分享干货,赶紧收藏。
通常我们所说的设计模式是一种设计方案,是前人留下的经验及最佳实践。
想要学习设计模式,至少要把面向对象的基本结构全部了解。
设计模式,是建立在一定基础上的思维训练。
学习设计模式,要有面临痛苦的决心。
学会设计模式,对解决问题及对程序理解有更高层次的认识。
如果有这样的决心,那么下面我们就认识一下,它的真面目。
常说的设计模式是23种设计模式,分为3大类:
一、创建型模式5种:工厂方法、抽象工厂、单例、建造者、原型
二、结构型模式7种:适配器、代理、桥接、装饰者、外观、享元、组合
三、行为型模式11种:模板方法、解释器、策略、观察者、迭代器、职责链、命令、备忘录、状态、访问者、中介者。
当然有一部分模式中,还有一些小的变化,在未来的持续更新中,我们会一一列举,并以代码为主,去学习设计模式。
上次咱们说了工厂方法模式,不知道各位同学掌握了没有。今天咱们说说“抽象工厂模式”。
要想彻底了解抽象工厂模式,必须要考虑的是“抽象工厂模式”与“工厂方法模式”的区别,其实从字面上看,就是一个“抽象”的区别。
在工厂方法模式中,我们在“女娲造人”的示例说明中,工厂方法里“造”的“产品”只有人类,无论男人和女人,都是人。而抽象工厂的主要意义在于,将工厂升级为2.0版本,变成啥都能造。也就是说,可以造很多类型,不仅仅是人类。“女娲造万物”就可以体现出来。
产品1:女娲造人,分男人和女人。
产品2:女娲造宠物,分雄性和雌性。
产品中不仅仅一种类的产品,除了“造人”还有产品“宠物”,女娲还要“造宠物”
当我们有多个产品类型需要制造成对象的时候,就可以采用抽象工厂模式了。
当工厂升级之后,每个工厂方法都有所升级,可以具体造出对应类型的产品。
抽象工厂在应用的时候,重点还是代码结构上的灵活性、扩展性的应用:
注意:两个产品类型中,有共同的特点。人分男女,宠物分雌雄。