设计模式
一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。
春夏与冬
有田不耕仓禀虚,有书不读子孙愚。宝剑锋从磨砺出,梅花香自苦寒来。少壮不知勤学苦,老来方悔读书迟。
展开
-
MVC模式
Controller(控制器):作用于模型和视图之上。控制数据流向模型对象,并在数据变化时更新视图。使视图与模型分离开。Model-View-Controller : 模型-视图-控制器模式,用于应用程序的分层开发。Model(模型):代表一个存取数据的对象。也可以带有逻辑,在数据变化时更新控制器。View(视图):代表模型包含的数据的可视化。原创 2024-01-24 17:18:26 · 625 阅读 · 0 评论 -
模板模式
模板模式抽象类定义了执行它的方法的方式。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。通用方法在抽象类实现,特有方法在子类来实现。定义一个操作中算法的骨架,而将一些步骤延迟到子类中,模板方法使得子类可以不改变算法的结构即可重定义该算法的某些特定步骤。模板是泛型编程的基础,泛型编程是以一种独立于任何特定类型的方式编写代码。原创 2023-12-28 17:43:19 · 510 阅读 · 0 评论 -
策略模式
策略模式就是把各个平等的具体实现进行抽象、封装成为独立的算法类,然后通过上下文和具体的算法类来进行交互。各个策略算法都是平等的,地位是一样的,正是由于各个算法的平等性,所以它们才是可以相互替换的。在软件开发中也常常遇到类似情况,当实现某一个功能存在多种方法,可以根据环境或者条件的不同选择不同的方法来完成该功能,如数据排序策略有冒泡排序、选择排序、插入排序等。用途:在有多种算法相似的情况下,使用 if…策略模式的着重点不是如何来实现算法,而是如何组织和调用这些算法,从而让我们的程序结构更加的灵活、可扩展。原创 2023-12-28 15:49:18 · 418 阅读 · 0 评论 -
建造者模式
指挥者负责安排复杂对象的建造次序,指挥者与抽象建造者之间存在关联关系,可调用建造者对象的部件与装配方法,完成发展对象的建造。建造者模式主要是将建造过程与具体表示分离,做到了建造过程的抽象,当有新的对象要创建并且建造过程相同,可以继承建造类实现自己的具体表示即可。具体建造者实现了抽象建造者接口,实现各个部件的构造和装配方法,定义并明确它所创建的复杂对象,也可以提供一个方法返回创建好的复杂产品对象。产品角色是被构建的复杂对象,包含多个组成部件,具体建造者创建该产品的内部表示并定义它的装配过程。原创 2023-12-26 11:45:41 · 663 阅读 · 0 评论 -
代理模式
代理模式是程序设计重要的一种模式。为其他对象提供一种代理以控制对这个对象的访问,这样实现了业务和核心功能分离。虚拟代理是根据需要创建开销很大的对象,通过它来存放实例化需要很长时间的真实对象,使其只有在真正需要时才被创建。Proxy Pattern,一个类代表另一个类的功能。原创 2023-12-25 18:16:24 · 333 阅读 · 0 评论 -
工厂模式
工厂模式属于创建型设计模式。工厂模式通过提供一个公共的创建对象的接口,可以在不暴露对象创建逻辑的情况下创建对象,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。主要解决接口选择的问题。工厂模式分为三种类型:简单工厂、方法工厂和抽象工厂,其本质就是对获取对象过程的抽象。你需要一辆汽车,可以直接从工厂里提货,而不用关心它具体是怎么实现。原创 2023-12-25 11:54:51 · 427 阅读 · 0 评论 -
单例模式 Singleton
所以线程A执行开辟内存,对instance赋值,线程B执行到这发现instance不为空,直接返回insatnce,返回一个未经构造的对象,那后面访问这个未经构造的对象就会出错。1.构造函数是私有的。声明一个对象时编译器会调用构造函数,调用通常是外部的,不属于class对象本身的调用,假如构造函数是私有的,由于在class外部不允许访问私有成员,所以会导致编译出错。某个线程调用该函数,没有执行完即对象instance还没被创建,另一个线程也执行,发现instance为空,那也执行创建instance。原创 2023-12-22 20:19:41 · 438 阅读 · 0 评论 -
观察者模式 Observer
观察者模式属于行为型模式。在程序设计中,观察者模式通常由两个对象组成:观察者和被观察者。当被观察者状态发生改变时,它会通知所有的观察者对象,使他们能够及时做出响应。事件发生了变化,被观察者从容器中得到注册的观察者,将变化通知观察者。将自己注册到被观察对象中,被观察对象将观察者存放在一个容器里。三要素:观察者(Observer),被观察者,事件。原创 2023-12-22 19:41:47 · 1278 阅读 · 0 评论 -
设计模式
设计模式是软件开发人员经过相当长一段时间的试验和错误总结出来的,软件开发过程中面临问题时的解决方案。3.行为型模式:用于描述类或对象如何交互和分配职责。2.结构型模式:用于处理类或者对象的组合。模板模式、策略模式、观察者模式、命令模式。单例模式、建造者模式、原型模式。代理模式、适配器模式、装饰模式。1.创建型模式:用于创建对象。工厂模式、抽象工厂模式、原创 2020-04-16 23:11:33 · 230 阅读 · 1 评论