zoukankan      html  css  js  c++  java
  • 7.对象创建型模式-总结

      前面介绍了一个创建迷宫的实现,首先介绍了一种最直接的实现,creator-也即MazeGame的CreateMaze()方法通过直接引用具体对象类来创建一个迷宫,这种通过硬编码的方式来创建对象存在可扩展性的问题,当创建其他类型的迷宫时需要修改CreateMaze()方法。

      为解决CreateMaze()方法硬编码具体对象类的问题,抽象工厂模式和生成器模式抽象了创建对象的过程,将创建对象的过程分装了MazeFactory和MazeBuilder,MazeFactory仅仅封装了具体对象的创建而MazeBuilder不仅封装了具体对象的创建,并且封装了组装对象的细节。同时抽象工厂模式和生成器模式参数化了创建对象的方法CreateMaze(MazeBuilder*)或CreateMaze(MazeFactory*)CreateMaze通过使用工厂或者生成器来创建对象或者组装对象

      工厂方法模式,MazeGame中引入了创建对象的工厂方法,CreateMaze()通过引用工厂方法来创建对象而不是直接引用具体对象类。通过派生MazeGame并重载工厂方法的实现,不需要修改CreateMaze()就可以创建新的迷宫。

      原型模式,创建对象的类实现clone()方法来克隆自己,使用原型来配置一个工厂,可以在不派生新的工厂类的情况下,创建新的迷宫。将抽象工厂实现为原型,参数化了工厂类,使用原型来配置一个工厂,增加了工厂类的灵活性。

      单件模式,可以保证抽象工厂类仅有一个实例,并且存在一个全局访问点。

  • 相关阅读:
    (三)Java秒杀项目之实现秒杀功能
    多模块环境下修改包名Rename directory与Rename package
    pom.xml标签页名称
    mac终端命令
    @Select 数据表的字段与实体类的属性值
    Markedown换行
    链表问题-不开辟新空间
    Java机器学习框架(1)【待完成】
    奇妙的算法【3】- 贪心算法【待完成】
    奇妙的算法【2】- 韩信点兵问题优化
  • 原文地址:https://www.cnblogs.com/VincentXu/p/3348637.html
Copyright © 2011-2022 走看看