首页 > 其他分享 >学习高校课程-软件设计模式-工厂模式(lec3)

学习高校课程-软件设计模式-工厂模式(lec3)

时间:2024-10-24 11:12:16浏览次数:7  
标签:product 软件设计 Abstract factory 模式 Factory lec3 new interfaces

Factory Method: Problem

Example: a logistics management application
示例:物流管理应用程序
– First version: handling transportation by trucks, with a Truck class
– Later: new requests to incorporate sea logistics, and more
– 第一个版本:处理卡车运输,卡车类别 – 后来:纳入海运物流的新请求,等等......

Factory Method: Solution

Replace direct object construction calls (using the new operator) with calls to a special factory method
将直接对象构造调用(使用 new 运算符)替换为对特殊工厂的方法

The client code does not see a difference between the actual products returned by various subclasses
客户端代码看不到各个子类返回的实际产品之间的差异

Abstract Factory: Problem

Example: a furniture shop simulator
示例:家具店模拟器
– A family of related products: Chair + Sofa + CoffeeTable
– Variants of this family: ArtDeco, Victorian, Modern
一系列相关产品:椅子 + 沙发 + 咖啡桌– 该系列的变体:装饰艺术、维多利亚时代、现代

Abstract Factory: Solution

• Firstly, explicitly declare interfaces for each distinct product of the product family, and then make all variants follow the interfaces
首先,为 product 系列的每个不同产品显式声明接口,然后将所有变体实现接口
• Secondly, declare the Abstract Factory: an interface with a list of creation methods for all products, and the methods return abstract product types represented by the interfaces
其次,声明 Abstract Factory:一个接口,其中包含所有产品的创建方法列表,这些方法返回由接口表示的抽象产品类型
• Thirdly, create a separate factory class for each variant
第三,为每个变体创建一个单独的 factory 类
• Finally, the client creates a concrete factory object at the initialization stage
最后,客户端在初始化阶段创建一个具体的工厂对象

标签:product,软件设计,Abstract,factory,模式,Factory,lec3,new,interfaces
From: https://www.cnblogs.com/Mephostopheles/p/18499173

相关文章

  • 绞杀者模式:逐步迁移与替代遗留系统的策略解析
    如果你觉得这篇文章对你有帮助,请不要吝惜你的“关注”、“点赞”、“评价”、“收藏”,你的支持永远是我前进的动力~~~  个人收藏的技术大会分享PDF文档,欢迎点击下载查看!!!在软件工程领域,遗留系统的现代化改造一直是企业面临的挑战之一。本文将介绍一种渐进式的系统迁移策略......
  • 设计模式(六)适配器模式详解
    设计模式(六)适配器模式详解结果型模式:从程序的结构上实现松耦合,从而可以扩大整体的类结构,用来解决更大的问题。适配器模式简介定义:适配器模式是一种结构型模式,它不允许不兼容的接口协同工作。通过创建一个适配器类,将一个类的接口转换成客户端期望的另一个接口。Adapter模式......
  • 设计模式(五)原型模式详解
    设计模式(五)原型模式详解原型模型简介定义:原型模型是一种创建型设计模型,它允许通过克隆/复制现有对象来创建新的对象,而无需通过常规的构造函数进行实例化。这种方式的主要优势是在运行时不需要知道具体的类,只需一个实例对象即可。实现方法实现Cloneable接口:在Java中,如......
  • 群控系统服务端开发模式-程序草图设计
    本系统采用PHP开发,采用thinkphp6作为php应用框架。一、总控制    1、Base.php        a、是否是登录后的验证父类,也就是需要登录才能操作的控制都需要继承他;        b、继承BaseController.php;    2、Emptys.php  ......
  • LVS三种模式区别及负载均衡算法
    LVS简介LVS(LinuxVirtualServer)即linux虚拟服务器,是一个虚拟的服务器集群系统正向代理和反向代理 正向代理:只用于代理内部网络对internet的连接请求,客户机必须指定代理服务器,并将本来要直接发送到web服务器上的http请求发送到代理服务器,正向代理指的是客户端代理 反向代......
  • 行为设计模式 -观察者模式- JAVA
    责任链设计模式一.简介二.案例2.1抽象处理者(Handler)角色2.2具体处理者(ConcreteHandler)角色2.3测试三.结论3.1优缺点3.2示例3.3要点前言这是我在这个网站整理的笔记,有错误的地方请指出,关注我,接下来还会持续更新。作者:神的孩子都在歌唱一.简介......
  • 单例模式
    1.单例模式所谓单例模式,就是保证类在内存中只有一个对象。如何保证内存中只有一个对象呢,就需要私有化构造器,私有化new对象的方法,然后提供一个公共方法来访问该单例类。 1.1饿汉式:类加载的时候先new好对象   从上面代码我们可以看出该方式在成员位置声明singleton......
  • 工厂方法模式
     1、理解工厂方法模式的动机,掌握该模式的结构;2、能够利用工厂方法模式解决实际问题。 [实验任务一]:加密算法目前常用的加密算法有DES(DataEncryptionStandard)和IDEA(InternationalDataEncryptionAlgorithm)国际数据加密算法等,请用工厂方法实现加密算法系统。1. 类图 ......
  • 实验2:简单工厂模式
    [实验任务一]:女娲造人使用简单工厂模式模拟女娲(Nvwa)造人(Person),如果传入参数M,则返回一个Man对象,如果传入参数W,则返回一个Woman对象,如果传入参数R,则返回一个Robot对象。请用程序设计实现上述场景。实验要求:1.画出对应的类图;2.提交源代码;3.注意编程规范。类图:  2、代......
  • 实验2:简单工厂模式
    [实验任务一]:女娲造人使用简单工厂模式模拟女娲(Nvwa)造人(Person),如果传入参数M,则返回一个Man对象,如果传入参数W,则返回一个Woman对象,如果传入参数R,则返回一个Robot对象。请用程序设计实现上述场景。  1. 类图   2.源代码//抽象产品类:Person接口publicinterfaceP......