
设计模式
简单的介绍一下设计模式。看完《软件设计模式与体系结构》书籍后,浓缩了一下书籍的内容以及添加了一些自己的总结。
一夜了
研究对话,LLM,多模态算法。
展开
-
设计模式之小结
设计模式系统总结: 1.设计模式-创建型软件设计模式(一) 2.设计模式-创建型软件设计模式(二) 3.设计模式-创建型软件设计模式(三) 4.设计模式-结构型软件设计模式(一) 5.设计模式-结构型软件设计模式(二) 6.设计模式-结构型软件设计模式(三) 7.设计模式-结构型软件设计模式(四) 8.设计模式-行为型软件设计模式(一) 9. 设计模式-行为型软件设计模式(二)原创 2017-07-16 12:00:56 · 26325 阅读 · 17 评论 -
设计模式-创建型软件设计模式(一)
主要介绍下面的三个设计模式: (1)工厂模式与抽象工厂模式 (2)生成器模式 (3)单例模式工厂模式工厂模式可以分为简单工厂模式,工厂模式以及抽象工厂模式。简单工厂模式简单工厂模式的特点是仅仅有一个具体的创建者类,并且此类中包含一个静态的工厂方法factory().首先定义一个接口public interface food{ abstract String getInsurInfo原创 2017-07-13 14:30:57 · 7890 阅读 · 0 评论 -
设计模式-创建型软件设计模式(二)
生成器模式简介生成器模式与工厂方法模式二者有相似之处,二者都属于创建型设计模式,并且都将对象创建的任务交给一个单独的类去完成。 生成器模式将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。生成器模式按照一个指定的过程逐步创建一个复杂的对象,他允许用户只通过指定复杂对象的类型和内容就可以构架它们,而不必知道内部的具体构建细节。生成器的主要思想是抽象出构建对象的步骤,使得这些步原创 2017-07-13 15:51:28 · 6672 阅读 · 0 评论 -
设计模式-创建型软件设计模式(三)
单例模式简介单例模式是指确保一个类仅有一个唯一的实例,并且提供一个全局的访问点。思路实现单例模式的思路:将构造方法声明为private。并且提供一个可以获得实例的方法,该方法必须是静态方法,并且确保无论客户调用该方法多少次,得到的始终是同一个对象。示例public class student{ private static student stu; public static Si原创 2017-07-13 17:04:22 · 6491 阅读 · 0 评论 -
设计模式-结构型软件设计模式(一)
组合模式简介组合模式允许一致的对待复杂和原始对象的接口,在面向对象编程技术中,组合对象是一个或者多个相似对象构成的对象,各个对象有相似的功能。关键的概念是客户类以相同的方式对待单独的对象与一组对象,即所谓的组合对象。 组合模式有时候又叫做部分-整体模式,在树形结构中模糊了简单元素和复杂元素的概念,客户程序可以像处理简单元素一样来处理复杂元素,从而使得客户程序与复杂元素的内部结构解耦。 组合模式将原创 2017-07-13 18:58:01 · 7262 阅读 · 0 评论 -
设计模式-结构型软件设计模式(二)
适配器模式介绍在软件设计中,为了解决接口不一致的问题,两个软件模块之间往往也需要通过一个适配器类Adapter进行是适配。这样的模式叫做适配器设计模式。 适配器模式分为两种,一种是类适配器,一种是对象适配器模式。 (1)类适配器 (2)对象适配器 示例现在有一个类student,现在要在要添加一个功能read(); 类适配器class student{ public St原创 2017-07-13 20:07:02 · 7696 阅读 · 0 评论 -
设计模式-结构型软件设计模式(三)
外观模式简介外观模式用来隐藏一个软件系统的所有内部细节,只提供给客户类一个外观类,或者叫做接口类。客户类直接调用该外观类的方法即可,而不必担心这些方法对其他类的调用的内部细节。外观模式角色(1)外观角色:这是外观模式的核心,它被客户角色调用,因此它熟悉子系统的功能。其内部根据客户角色已有的的需求预定了几种功能组合。 (2)子系统角色:实现子系统的功能,对它而言,外观角色就和客户角色一样是未知的,它原创 2017-07-14 12:37:45 · 7084 阅读 · 0 评论 -
设计模式-结构型软件设计模式(四)
桥接模式简介桥接模式使得系统可以沿着两个或者多个维度进行独立地增加或者变化,而这种变化又不会对现有的类产生影响。桥接模式将一个软件设计的抽象部分与实现部分分离,使它们都可以独立地变化。 (1)abstraction接口:定义抽象部分的接口,维持Implementor对象的一个参考(Reference)。 (2)RefinedAbstraction类:是一个实类,继承或者实现Abstraction原创 2017-07-14 12:38:13 · 7107 阅读 · 0 评论 -
设计模式-行为型软件设计模式(一)
迭代器模式迭代器模式的关键思想是将对列表的访问和遍历从列表对象中分离出来,放入一个独立的迭代器当中。迭代器类定义了一个访问该列表元素的接口。迭代器类所提供的方法负责跟踪当前的元素,即它知道哪些元素已经遍历过了,哪些元素还没有被遍历。 迭代器模式能够提供一种方法按照顺序访问一个聚合对象中的所有元素,而又不需要暴露该对象的内部表示。 (1)aggregate:聚合接口,其实现子类将创建并且维持一个一原创 2017-07-14 12:39:16 · 7534 阅读 · 0 评论 -
设计模式-行为型软件设计模式(二)
访问者模式模式简介访问者模式在处理数据结构较稳定,但是作用于其上的操作需要经常变化的问题时是非常有效的。 访问者模式是指作用于一个对象结构体上的元素的操作。访问者可以使用用户在不改变该结构体中的类的基础上定义一个新的操作。 (1)Visitor:为每个Element的类声明了一个访问操作。该访问操作的名字最好要包含被访问的类的名字,以便确认该访问操作是专门针对哪个具体的类。 (2原创 2017-07-13 22:41:43 · 6030 阅读 · 0 评论 -
设计模式-行为型软件设计模式(三)
命令模式简介命令模式的目的是解除调用者和接受者之间的耦合。命令模式为相应客户请求的行动创建一个抽象,也就是设计一个命令接口类,用于声明一个共同的接口。该接口有一些具体的实现类,每个实现类代表一个不同类型的客户请求和相应的处理。 (1)客户类创建必要的接收器(Receiver)对象。 (2)客户类创建一个适当的命令(Command)对象并且将在步骤(1)创建的接收器对象配置给它。 (3)客户原创 2017-07-14 13:25:50 · 6261 阅读 · 0 评论 -
设计模式-行为型软件设计模式(四)
中介者模式介绍中介者模式目的是将所有对象之间的交互细节抽象到一个独立的类中,这个类叫做中介者类,每个对象任然负责提供原来设计的服务,只是对象之间不再直接的交互,而是通过中介者类。 (1)Mediator:中介者接口。 (2)ConcreteMediator:具体的中介者类,可以有多个中介者。当只有一个中介者类时,Mediator可以省略。 (3)Colleague:参与者对象接口。 (4原创 2017-07-15 00:05:18 · 6046 阅读 · 0 评论 -
设计模式-行为型软件设计模式(五)
策略模式介绍策略模式定义了一系列的算法,将每一个算法封装起来,并且使它们之间可以相互替换,策略模式让算法的变化不会影响到使用算法的客户。 (1)Stragegy:定义了一个共同的接口。所有具体的算法类实现这个接口。环境类Context使用这个接口调用具体的算法类。 (2)ConcreteStragegy:封装了具体的算法,实现同一个接口。 (3)Context:环境类用于配置一个具体的算法原创 2017-07-15 00:05:42 · 5961 阅读 · 0 评论 -
设计模式-行为型软件设计模式(六)
状态模式介绍状态模式将不同状态下的行为封装在不同的类中,每个类代表一个状态。 (1)Context:定义了与客户程序的接口,它保持了一个ConcreteState的代表现在状态的实例。 (2)State:定义了状态接口,它的各个子类封装了在各种不同状态下的行为。 (3)ConcreteState子类:封装了在各种不同状态下的行为。示例开关有开和关两种状态public class Cont原创 2017-07-15 00:05:59 · 6186 阅读 · 0 评论