Nutz 设计模式应用 --- 工厂方法
来源:互联网 发布:不用手机注册淘宝账号 编辑:程序博客网 时间:2024/06/04 00:33
工厂方法把类的初始化工作封装到了一个单独的类中, 这个类被称为工厂类.
首先需要一个工厂接口和产品接口:
public interface IFactory { IProduct create();}public interface IProduct {}
接下来, 创建一个具体的产品类A:
public class ProductA implements IProduct {}
我们希望把A实例化的工作封装成一个单独的工厂类:
public class ProductAFactory implements IFactory { public IProduct create() { return new ProductA(); }}
在Nutz中, 需要要把工厂类以及工厂方法都添加注解就可以实现:
@IocBean // 注解工厂类public class ProductAFactory implements IFactory { @IocBean(name = "a") // 注解工厂方法 public IProduct create() { System.out.println("called by ioc container"); return new ProductA(); }}
这样我们就完成了一个工厂方法设计模式. 这个设计模式比较简单, 但是我们需要把它和之前的单例模式作对比, 我们首先看一下类实例化的一些方法.
new Object()
function Object getInstance(){ return new Object() }
class ObjectFactory(){ function Object getInstance( return new Object() ) }
仔细观察不难发现, 设计模式其实是一个不断封装的过程, 由语句到函数, 由函数到类, 一层层封装, 最后就是我们现在看到了工厂方法模式了.
每层封装都给我们带来了极大的灵活性, 同时又增加了复杂性, 在选择时一定要适可而止.
阅读全文
0 0
- Nutz 设计模式应用 --- 工厂方法
- Nutz 设计模式应用 --- 静态工厂方法
- Nutz 设计模式应用 --- 前言
- Nutz 设计模式应用 --- 单例模式
- Nutz 设计模式应用 --- Facade 模式
- 设计模式-工厂方法设计模式与接口的应用
- 工厂设计模式。。应用
- 设计模式实战应用之五:工厂方法模式
- 工厂方法模式应用
- 设计模式--工厂方法
- 工厂方法设计模式
- 设计模式-工厂方法
- 【设计模式】【工厂方法】
- 设计模式 - 工厂方法
- 工厂方法设计模式
- 工厂方法设计模式
- 【设计模式】工厂方法
- 设计模式--工厂方法
- 实现上移下移 置顶置底效果
- 浅谈数组
- 下载网页视频而不需要通过迅雷等软件 (基于python3 方法简单迅速)
- 自定义控件三部曲之绘图篇(七)——Paint之函数大汇总
- ESP8266 AT指令集开发实例(WeMos D1开发板)
- Nutz 设计模式应用 --- 工厂方法
- 面试感悟----一名3年工作经验的程序员应该具备的技能
- POJ 刷题系列:1503 Integer Inquiry
- 测试
- Flatten Binary Tree to Linked List:二叉树变更结构
- 图像增强—空域滤波,椒盐噪声/高斯噪声 均值滤波器/中值滤波器
- SGD BGD MBGD各种梯度下降的处理方式
- C#:C高精度算法移植
- python抓取博客正文