• 直击企业需求培养高薪人才
  • 一站式IT培训服务平台
  • 打破时空限制开启云端学习

400-888-4011

那些常用的设计模式汇总

来源:成都职坐标 时间:09-29

那些常用的设计模式汇总

  今天,我们来讲讲那些常用的设计模式汇总,一起来看看吧!企业规模的软件系统该如何设计呢?在开始写代码之前,我们需要选择一个合适的架构。因此,了解软件设计中的不同架构模式对我们的软件设计会有较大的帮助。
那些常用的设计模式汇总
  软件架构模式
  什么是架构模式?根据维基百科:架构模式是针对特定软件架构场景常见问题的通用、可重用解决方案。架构模式类似于软件设计模式,但范围更广。
  分层模式
  此模式用于可分解为子任务的结构化程序,每个子任务都位于特定的抽象层级,每一层都为上一层提供服务。
  表最常见的
  应用层(也称为服务层)
  业务逻辑层(也称为领域层)
  数据访问层(也称为持久层)
  表最常见的
  应用层(也称为服务层)
  业务逻辑层(也称为领域层)
  数据访问层(也称为持久层)
  客户端-服务器模式
  这种模式由两部分组成:服务器和多个客户端。服务器将向多个客户端提供服务。客户端从服务器请求服务,服务器向这些客户端提供相关服务。此外,服务器继续侦听客户端请求。
  应用场景
  1、电子邮件、文档共享和银行等在线应用程序。
  2、基于IPC的应用程序
  主从模式
  这种模式由两部分组成:主节点和从节点。主节点将分配给相同的从节点,并根据从节点返回的结果计算最终结果。
  应用场景
  1、在数据库复制中,主数据库被视为权威源数据库,从数据库与之同步。
  2、通过总线连接到计算机系统(主驱动器和从驱动器)的外围设备。
  3、进程内的多线程应用。
  管道-过滤器模式
  这种模式可用于构造生成和处理数据流的系统。每个处理步骤都含一个过滤器组件。要处理的数据通过管道传递。这些管道可用于缓冲或同步目的。
  应用场景
  1、编译器。连续过滤器执行词法分析、词法解析、语义分析和代码生成。
  2、生物信息学的流
  3、工具链式的应用程序
  代理模式
  这种模式通过解耦组件来构造分布式系统。这些组件可以通过远程服务调用彼此交互。代理组件负责协调组件之间的通信。服务器向代理发布功能(服务和特征)。客户端向代理请求服务,然后代理将客户端重定向到合适的服务。需要注意broker,agent,proxy以及delegate的区别。
  应用场景
  1、消息代理软件,例如:Apache ActiveMQ、Apache Kafka、RabbitMQ和JBoss消息传递。
  2、网络传输中的代理软件。
  其实还有很多我们在用而不是很清楚的设计模式,除了以上模式,我们就来看下常用的工厂设计模式。
  简单工厂模式
  简单工厂模式(Simple Factory Pattern):又称为静态工厂方法(Static Factory Method)模式,它属于类创建型模式。在简单工厂模式中,可以根据参数的不同返回不同类的实例。简单工厂模式专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。
  工厂模式
  工厂方法模式(Factory Method Pattern)又称为工厂模式,也叫虚拟构造器(Virtual Constructor)模式或者多态工厂(Polymorphic Factory)模式,它属于类创建型模式。在工厂方法模式中,工厂父类负责定义创建产品对象的公共接口,而工厂子类则负责生成具体的产品对象,这样做的目的是将产品类的实例化操作延迟到工厂子类中完成,即通过工厂子类来确定究竟应该实例化哪一个具体产品类。
  抽象工厂模式
  抽象工厂模式(Abstract Factory Pattern):提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类。抽象工厂模式又称为Kit模式,属于对象创建型模式。
  当抽象工厂模式中每一个具体工厂类只创建一个产品对象,也就是只存在一个产品等级结构时,抽象工厂模式退化成工厂方法模式;当工厂方法模式中抽象工厂与具体工厂合并,提供一个统一的工厂来创建产品对象,并将创建对象的工厂方法设计为静态方法时,工厂方法模式退化成简单工厂模式。
校区导航