当前位置: 首页 > news >正文

网站 开发工商管理网站

网站 开发,工商管理网站,协会工作方案网站建设困难,展览公司网站建设目录 一、简单工厂模式简介1. 定义2. 使用动机 二、简单工厂模式结构1.模式结构2. 时序图 三、简单工厂的使用实例四、简单工厂模式优缺点五、简单工厂模式在Java中的应用 一、简单工厂模式简介 原文链接 1. 定义 简单工厂模式(Simple Factory Pattern)#xff1a;又称为静… 目录 一、简单工厂模式简介1. 定义2. 使用动机 二、简单工厂模式结构1.模式结构2. 时序图 三、简单工厂的使用实例四、简单工厂模式优缺点五、简单工厂模式在Java中的应用 一、简单工厂模式简介 原文链接 1. 定义 简单工厂模式(Simple Factory Pattern)又称为静态工厂方法(Static Factory Method)模式它属于类创建型模式。在简单工厂模式中可以根据参数的不同返回不同类的实例。简单工厂模式专门定义一个类来负责创建其他类的实例被创建的实例通常都具有共同的父类。 2. 使用动机 考虑一个简单的软件应用场景一个软件系统可以提供多个外观不同的按钮如圆形按钮、矩形按钮、菱形按钮等 这些按钮都源自同一个基类不过在继承基类后不同的子类修改了部分属性从而使得它们可以呈现不同的外观。 如果我们希望在使用这些按钮时不需要知道这些具体按钮类的名字只需要知道表示该按钮类的一个参数并提供一个调用方便的方法把该参数传入方法即可返回一个相应的按钮对象此时就可以使用简单工厂模式。 二、简单工厂模式结构 1.模式结构 简单工厂模式包含如下角色 Factory工厂角色 工厂角色负责实现创建所有实例的内部逻辑 Product抽象产品角色 抽象产品角色是所创建的所有对象的父类负责描述所有实例所共有的公共接口 具体产品角色是创建目标所有创建的对象都充当这个角色的某个具体类的实例。 2. 时序图 ①先调用工厂类中的静态方法createProduct() ②根据传入产品类型参数获得具体的产品对象 ③返回产品对象并使用 三、简单工厂的使用实例 抽象动物类 public abstract class Animal {public abstract void eat(); }具体动物类猫 public class Cat extends Animal {Overridepublic void eat() {System.out.println(猫吃鱼);} }具体动物类狗 public class Dog extends Animal {Overridepublic void eat() {System.out.println(狗吃肉);} }工厂类AnimalFactory 根据调用者不同的要求创建出不同的登录对象并返回。而如果碰到不合法的要求会返回null。 public class AnimalFactory {public static Animal createAnimal(String name) {if (dog.equals(name)) {return new Dog();} else if (cat.equals(name)) {return new Cat();} else {return null;}} }测试调用 public class Test {public static void main(String[]args){Dog d (Dog) AnimalFactory.createAnimal(dog);d.eat();Cat c (Cat) AnimalFactory.createAnimal(cat);c.eat();} }输出结果 四、简单工厂模式优缺点 优点 通过使用工厂类外界不再需要关心如何创造各种具体的产品只要提供一个产品的名称作为参数传给工厂就可以直接得到一个想要的产品对象并且可以按照接口规范来调用产品对象的所有功能方法。 构造容易逻辑简单。 缺点 简单工厂模式中的if else判断非常多完全是Hard Code如果有一个新产品要加进来就要同时添加一个新产品类并且必须修改工厂类再加入一个 else if 分支才可以 这样就违背了 “开放-关闭原则”中的对修改关闭的准则了。当系统中的具体产品类不断增多时候就要不断的修改工厂类对系统的维护和扩展不利。 一个工厂类中集合了所有的类的实例创建逻辑违反了高内聚的责任分配原则将全部的创建逻辑都集中到了一个工厂类当中所有的业务逻辑都在这个工厂类中实现。什么时候它不能工作了整个系统都会受到影响。因此一般只在很简单的情况下应用比如当工厂类负责创建的对象比较少时。 简单工厂模式由于使用了静态工厂方法造成工厂角色无法形成基于继承的等级结构。 适用环境 在以下情况下可以使用简单工厂模式 工厂类负责创建的对象比较少由于创建的对象较少不会造成工厂方法中的业务逻辑太过复杂。 客户端只知道传入工厂类的参数对于如何创建对象不关心客户端既不需要关心创建细节甚至连类名都不需要记住只需要知道类型所对应的参数。 五、简单工厂模式在Java中的应用 JDK类库中广泛使用了简单工厂模式如工具类java.text.DateFormat它用于格式化一个本地日期或者时间。 public final static DateFormat getDateInstance(); public final static DateFormat getDateInstance(int style); public final static DateFormat getDateInstance(int style,Locale locale);Java加密技术获取不同加密算法的密钥生成器: KeyGenerator keyGenKeyGenerator.getInstance(DESede);Cipher cpCipher.getInstance(DESede);
http://www.hkea.cn/news/14342441/

相关文章:

  • 网站建设编写代码问题wordpress初级教程
  • 做外贸英语要什么网站专做美妆的网站
  • 高端网站设计建站wordpress文章不在首页显示
  • 中交建设集团网站怎样建设公司的网站
  • 旅游网站怎么用dw做东营建设局官网
  • 教学类网站开发怎么做卖车网站
  • 城阳网站开发公司电话免费查询公司
  • 黄金网站包头市做网站公司
  • 运动鞋建设网站前的市场分析网站模版如何使用
  • 旅游网站网页设计论文企业网站建设规划书的内容
  • 电子商务网站推广的界定wordpress调用网页
  • 列举五种常用的网站推广方法产品设计考研学校排名
  • 越南的网站建设淘宝宝贝关键字优化
  • 南昌网站建设优化公司排名微网站模板建设
  • 南京手机网站设计专业教育网站模板下载
  • 苏州国内网站建设公司电子商务网站建设与管理期末答案
  • 用vs2012做网站案例广东哪家网站建设后台管理便捷
  • 计算机专业论文网站开发哪个软件可以自动排名
  • 网站开发英语词汇网络公司做的网站
  • 做网站在自己电脑建立虚拟机营销型企业网站的功能
  • 网站建设公司价格营销型网站建设调查表
  • 如何设置免费网站2012服务器做网站
  • 手机上如何制作app网站的优化策略方案
  • 网站建设零基础自学视频教程开个人网站如何赚钱
  • 伍佰亿门户网站类似wordpress的cms
  • 社保官方网站登录入口自己在家做网站
  • 自己建立网站用什么软件昆明网站设计报价
  • 网站想换一个空间怎么办网上教育培训机构排名
  • html企业网站怎么做优惠券购物网站怎么做
  • 申请免费个人网站网站美化模板