![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
哒达达达不溜
这个作者很懒,什么都没留下…
展开
-
三种工厂模式的区别
三种工厂模式的区别 传统方法:准备原材料过程和获取披萨类型都在Order类里面 简单工厂模式:把每种类型的披萨的准备原材料方法封装在工厂类里边, Order里只负责bake cut box 工厂方法模式:把新增的每种类型的披萨的准备原材料方法放到子工厂;父工厂类就用抽象,让子工厂继承抽象工厂,并负责bake cut box; 抽象工厂模式:把新增的每种类型的披萨的准备原材料方法放到子工厂;父工厂类就用抽象,让子工厂继承抽象工厂,新建order类负责bake cut box,那么原创 2021-07-02 18:00:19 · 995 阅读 · 0 评论 -
抽象工厂模式
抽象工厂模式 1. 定义了一个interface用于创建相关或有依赖关系的对象簇,而无需指明具体的类 2. 抽象工厂模式可以将简单工厂模式和工厂方法模式进行整合 3. 从设计层面看,抽象工厂模式就是对简单工厂模式的改进(或者称为进一步抽象) 4. 将工厂抽象成两层,AbsFactory(抽象工厂)和具体实现的工厂子类。程序员可以根据创建对象类型使用对应的工厂子类。这样将单个简单工厂类变成工厂簇,更有利于代码的维护和扩展。** 聚合到客户端 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传原创 2021-07-02 17:55:40 · 186 阅读 · 0 评论 -
工厂方法模式
工厂方法模式 定义了一个创建对象的抽象方法,由子类决定要实例化的类, 工厂方法模式将对象的实例化推迟到子类 继承抽象方法的类的构造器里创建实例对象,具体创建成什么样,直接体现在子类构造方法里 包1================== Pizza: package Allpizza; public abstract class Pizza { private String name; public abstract void prepare(); pu原创 2021-07-02 17:53:24 · 191 阅读 · 0 评论 -
简单工厂模式
改进思路分析 **分析:**修改代码可以接收,但是如果我们在其他的地方也有创建pizza的代码,就意味着也需要修改,而创建pizza的代码往往有很多处 **思路:**把创建Pizza对象封装到一个类中, 这样我们有新的Pizza的种类时,只需要修改该类就可以,其他有创建到Pizza对象的代码就不需要修改了(即简单工厂模式) 简单工厂模式基本介绍: 1. 是属于创建型模式,是工厂模式的一种,也是最简单的一种。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。 2. 定义了一个创建对象的类,有这个类来封原创 2021-07-02 17:53:00 · 214 阅读 · 0 评论 -
传统方式解决披萨订购(工厂模式实例)
传统方式解决披萨订购 包1: 披萨 package com.atguigu.design.factory; //将pizza做成抽象类 public abstract class Pizza { protected String name; public abstract void prepare();//抽象方法,不同pizza的准备方法不同,所以 把prepare做成抽象的 public void bake() { System原创 2021-07-02 17:52:00 · 296 阅读 · 0 评论