初识工厂模式

对于一个Java初学者来说,当你听到工厂模式时会一脸的懵逼,好奇心驱使你去百度。结果看了看,感觉还是看不懂,百度上面的文章好多都是你复制我的,我复制你的,结合我的所学和自己的想法,想在此写一下我个人的认识。

工厂模式,顾名思义就是有一个工厂,然后按照客户的要求去生产一些满足客户要求的东西。我们知道,要是单纯用new去实例化一个对象,那么这个对象就很大程度上面依赖与你具体要生产什么东西,当客户不满足你编写的代码时,本来是生产奔驰,结果你的客户说他喜欢QQ,那么你就必须去满足老板的要求,你必须更改源码,那样的话,代码量大,而且也比较麻烦。那怎么办?工厂模式就闪亮登场了,用工厂的方法代替new操作,去实例化一个对象,给你系统带来更大的可扩展性和尽量少的修改量,这样很轻松的就满足了老板的要求,老板肯定会给你加薪的。

具体来说,一般我们实例化一个对象,像这样:Person P =new Person(),要是我们要进行一些初始化的操作,我们会在Person的括号里面传入一些参数,使用构造函数,像这样Person P=new Person(参数),但是我们的初始化并不是那么简单,随着项目的复杂而复杂,那么这样就会不方便。当你的初始化很麻烦的时候,你可以,想要是我把这些初始化的东西放在一个工厂里面,只要你给我一个要求,其他什么都不要管,我就给你一个满足要求的实物,是不是很棒。

时间: 2024-10-24 17:59:29

初识工厂模式的相关文章

工厂模式初识

在自己的项目中,同一个project下面有不同的view,不同的view对应不同的Model(具体实现代码),现在需要做的是A model调用B Model里面的一个方法,这个方法实现的是用ServiceAgent查询DB,这个ServiceAgent(最后了解到)是一个公用的类,最开始我是1实例化一个B model对象,调用它的方法,发现B里边这个方法用到了ServiceAgent,报错是说ServiceAgent没有实例化,(因为这个ServiceAgent初始化工作不是在BMOdel ne

初识设计模式1:简单工厂模式

简单工厂模式 简单工厂模式是类的创建模式,又叫做静态工厂方法模式.简单工厂模式由一个工厂对象决定生产出哪一种产品类的实例. 为什么要使用简单工厂模式 原因很简单:解耦. LOL场景分析: LOL中目前有100多个英雄,各个人物的技能全都不同,具体英雄的代码实现必定不同: 但是每个英雄的技能都是Q.W.E.R这4个基本技能,以及召唤师技能D.F: 虽然选择的英雄不同,但游戏的其他部分应该是完全相同的,不可能根据我们选择的英雄不同,而完全改变其他通用部分的逻辑! 如何实现这样的应用场景 召唤师技能

设计模式学习(二)——简单工厂模式、工厂模式、抽象工厂模式

最近抽时间将之前看过的"程序人生"公众号推送的一篇工厂模式的介绍进行了实践,为了加深自己理解,特将自己的学习理解记录于此.初识设计模式,就被设计模式的精妙深深吸引,感觉脱离设计模式的代码就失去了美丽.作为一个测试,平日写代码的机会肯定不如开发多,但是希望自己能通过努力逐步提升代码水平,有一天也能写出优美的代码.如果有对于工厂模式或其他设计模式感兴趣的朋友欢迎一起探讨. 一.简单工厂模式 定义:专门定义一个类用来创建其他类的实例,被创建的实例通常具有共同的父类. 场景一:恰巧今天,老大兴

5.抽象工厂模式-abstractfactory

初识抽象工厂模式 定义 提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类. 结构和说明 AbstractFactory:? 抽象工厂,定义创建一系列产品对象的操作接口. ConcreteFactory:? 具体的工厂,实现抽象工厂定义的方法,具体实现一系列产品对象的创建. AbstractProduct:? 定义一类产品对象的接口 ConcreteProduct:? 具体的产品实现对象,通常在具体工厂里面,会选择具体的产品实现对象,来创建符合抽象工厂定义的方法返回的产品类型的对

抽象工厂模式

思考:工厂方法模式:http://www.cnblogs.com/maggiejyt/p/7561253.html 工厂方法模式UML: 问题:如果这家工厂不止要生产Ball(球),还要还有Sneakers(球鞋)等 则UML图为 当Product有多种类时则是抽象工厂模式 代码(Ball的代码见简单工厂模式:http://www.cnblogs.com/maggiejyt/p/7561253.html) Sneakers(球鞋抽象类) package com.maggie.FactoryMet

设计模式 2/23 工厂模式

工厂模式是最常用的设计模式之一,用好了,代码优雅,可维护性高,对系统设计会上一个台阶 为什么这么说,因为工厂模式可以牵扯出抽象工厂模式,也有大家都会聊到的简单工厂模式 我们要了解一点,23中设计模式中,不包含简单工厂模式,之所以大家会去聊这个,四个字,渐进明细 通过对简单工厂模式的了解,我们引入工厂这个词,不然一个写代码的,天天给他讲工厂,工厂,工厂,西厂,东厂,会晕 同时,通过逐步的深入,从简单工厂,到工厂模式,再到抽象工厂,渐进明细的过程,逐步深入的理解,比较优劣,择优而为我们所用. 试想我

简单工厂模式

目前正在看<大话设计模式>,写此系列的文章记录下学习的经过. 简单工厂模式 先看如下代码,使用面向对象的原理实现计算器功能 Operation运算类 1 public class Operation 2 { 3 private double numberA = 0; 4 private double numberB = 0; 5 6 public double NumberA 7 { 8 get { return numberA; } 9 set { numberA = value; } 10

设计模式——介绍与工厂模式(扁平管理模式VS职业经理人模式)

本文主要对设计模式进行大概解说.特别是对工厂模式进行简明的解析: 一.设计模式的分类 创建型模式,共五种:工厂方法模式.抽象工厂模式.单例模式.建造者模式.原型模式. 结构型模式,共七种:适配器模式.装饰器模式.代理模式.外观模式.桥接模式.组合模式.享元模式. 行为型模式,共十一种:策略模式.模板方法模式.观察者模式.迭代子模式.责任链模式.命令模式.备忘录模式.状态模式.訪问者模式.中介者模式.解释器模式. 事实上还有两类:并发型模式和线程池模式. 二.设计模式的六大原则 1.开闭原则(Op

工厂模式

工厂模式属于创建型模式,由一个工厂对象决定创建出哪一种产品类的实例. 角色: IProduct: 产品共同的接口 Product1:具体的产品类 Creator:工厂类,可根据参数决定创建的产品类型 示例: public interface IProduct { void myfunction(); } --- class Product1 implements IProduct{ public void myfunction(){ System.out.println("function1&q