(小谈设计模式(26)—中介者模式) 专栏介绍 主要对目前市面上常见的23种设计模式进行逐一分析和总结,希望有兴趣的小伙伴们可以看一下,会持续更新的。希望各位可以监督我,我们一起学习进步,加油,各位。 中介者模式 中介者模式(MediatorPattern)是一种行为型设计模式,它通过将对象之间的通信封装到一个中介者对象中,从而实现对象之间的松耦合。中介者模式可以减少对象之间的直接依赖,提高系统的灵活性和可维护性。 分析 在中介者模式中,存在一个中介者对象,它封装了对象之间的通信逻辑。对象之间的通信不再直接发生,而是通过中介者对象进行。当一个对象需要与其他对象进行通信时,它不需要知道其他对象的...

(小谈设计模式(27)—享元模式) 专栏介绍 主要对目前市面上常见的23种设计模式进行逐一分析和总结,希望有兴趣的小伙伴们可以看一下,会持续更新的。希望各位可以监督我,我们一起学习进步,加油,各位。 享元模式 享元模式(FlyweightPattern)是一种结构型设计模式,它通过共享对象来减少内存使用和提高性能。在享元模式中,共享的对象被称为享元(Flyweight),而非共享的对象被称为外部状态(ExtrinsicState)。 模式结构分析 享元工厂(FlyweightFactory) 负责创建和管理享元对象。它维护一个享元池(FlyweightPool),用于存储已经创建的享元对象。 ...

(小谈设计模式(25)—职责链模式) 专栏介绍 主要对目前市面上常见的23种设计模式进行逐一分析和总结,希望有兴趣的小伙伴们可以看一下,会持续更新的。希望各位可以监督我,我们一起学习进步,加油,各位。 职责链模式 职责链模式(ChainofResponsibilityPattern)是一种行为型设计模式,它允许多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。职责链模式将请求的发送者和接收者解耦,让多个对象都有机会处理请求,直到其中一个对象处理成功为止。 分析 在职责链模式中,通常会有一个抽象处理者(Handler)类,它定义了处理请求的接口和一个指向下一个处理者的引用。...

(小谈设计模式(20)—组合模式) 专栏介绍 主要对目前市面上常见的23种设计模式进行逐一分析和总结,希望有兴趣的小伙伴们可以看一下,会持续更新的。希望各位可以监督我,我们一起学习进步,加油,各位。 组合模式 组合模式是一种结构型设计模式,它允许将对象组合成树状结构以表示“部分-整体”的层次结构。组合模式使得客户端可以统一地处理单个对象和组合对象,无需区分它们的区别。 对象类型 叶节点(Leaf)和组合节点(Composite) 叶节点 它表示树的最底层的对象,它们没有子节点。 组合节点 它表示树的分支节点,它可以包含其他的组合节点和叶节点。 核心思想 使用一个抽象类或接口来定义组合节点和叶节...

(小谈设计模式(21)—迭代器模式) 专栏介绍 主要对目前市面上常见的23种设计模式进行逐一分析和总结,希望有兴趣的小伙伴们可以看一下,会持续更新的。希望各位可以监督我,我们一起学习进步,加油,各位。 迭代器模式 迭代器模式是一种行为型设计模式,它提供了一种访问聚合对象中各个元素的方法,而不需要暴露聚合对象的内部表示。迭代器模式将遍历元素的责任交给迭代器对象,从而简化了聚合对象的接口。 对象分析 聚合对象(Aggregate) 聚合对象是包含一组元素的对象,它通常提供一个创建迭代器的方法。聚合对象可以是一个集合、数组、列表等。聚合对象的主要职责是通过迭代器对象提供对元素的遍历。 迭代器对象(...

(小谈设计模式(18)—适配器模式) 主要对目前市面上常见的23种设计模式进行逐一分析和总结,希望有兴趣的小伙伴们可以看一下,会持续更新的。希望各位可以监督我,我们一起学习进步,加油,各位。 适配器模式 适配器模式是一种结构型设计模式,它允许将一个类的接口转换成客户端所期望的另一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的类可以一起工作。 角色分析 目标接口(Target) 客户端期望的接口,适配器将原始接口转换成目标接口。 源接口(Adaptee) 需要被适配的类或接口。 适配器(Adapter) 实现目标接口,同时持有源接口的实例,将目标接口的方法调用转发给源接口的实例。 核心...

(小谈设计模式(15)—观察者模式) 专栏介绍 主要对目前市面上常见的23种设计模式进行逐一分析和总结,希望有兴趣的小伙伴们可以看一下,会持续更新的。希望各位可以监督我,我们一起学习进步,加油,各位。 观察者模式 观察者模式(ObserverPattern)是一种行为型设计模式,它定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象,当主题对象发生变化时,它的所有观察者都会收到通知并更新自己。 核心思想 将观察者和被观察者之间的依赖关系解耦,使其彼此之间可以独立变化。被观察者只需要知道观察者实现了某个接口,而不需要知道具体的观察者类,同样,观察者只需要知道被观察者实现了某个接口...

(小谈设计模式(14)—建造者模式) 专栏介绍 专栏地址 link 专栏介绍 主要对目前市面上常见的23种设计模式进行逐一分析和总结,希望有兴趣的小伙伴们可以看一下,会持续更新的。希望各位可以监督我,我们一起学习进步,加油,各位。 建造者模式 建造者模式是一种创建型设计模式,它可以将一个复杂对象的构建过程与其表示分离,使得同样的构建过程可以创建不同的表示。 角色分类 产品(Product) 表示被构建的复杂对象。通常包含多个部分,如属性、方法等。 抽象建造者(Builder) 定义了构建产品的抽象方法,通常包括构建各个部分的方法和返回产品的方法。 具体建造者(ConcreteBuilder) ...

(小谈设计模式(13)—外观模式) 专栏介绍 专栏地址 http://t.csdnimg.cn/VpriY 专栏介绍 主要对目前市面上常见的23种设计模式进行逐一分析和总结,希望有兴趣的小伙伴们可以看一下,会持续更新的。希望各位可以监督我,我们一起学习进步,加油,各位。 外观模式 外观模式(FacadePattern)是一种结构型设计模式,它提供了一个统一的接口,用于访问子系统中的一组接口。外观模式定义了一个高层接口,使得子系统更容易使用。 主要目的 简化复杂系统的接口。它通过提供一个统一的接口,隐藏了子系统的复杂性,使得客户端可以更方便地使用系统。外观模式通过将客户端与子系统解耦,提供了一个...

(小谈设计模式(12)—迪米特法则) 专栏介绍 专栏地址 http://t.csdnimg.cn/VpriY 专栏介绍 主要对目前市面上常见的23种设计模式进行逐一分析和总结,希望有兴趣的小伙伴们可以看一下,会持续更新的。希望各位可以监督我,我们一起学习进步,加油,各位。 迪米特法则 迪米特法则(LawofDemeter)也被称为最少知识原则(LeastKnowledgePrinciple),是一种面向对象设计的原则,它强调一个对象应该尽量减少与其他对象之间的相互依赖。 核心思想 尽量减少对象之间的相互依赖,使对象之间的耦合度降低。具体来说,它强调一个对象应该只与其直接的朋友进行交互,而不与陌...

(小谈设计模式(11)—模板方法模式) 主要对目前市面上常见的23种设计模式进行逐一分析和总结,希望有兴趣的小伙伴们可以看一下,会持续更新的。希望各位可以监督我,我们一起学习进步,加油,各位。 模板方法模式 这是一种行为型设计模式,用于定义算法的框架,将算法的具体实现延迟到子类中。 角色分类 抽象类(AbstractClass) 抽象类定义了一个模板方法,该方法包含了算法的框架,以及一系列基本方法的调用顺序。抽象类还可以定义抽象方法、具体方法和钩子方法,用于延迟具体实现或提供默认实现。 具体子类(ConcreteClass) 具体子类继承抽象类,并实现抽象方法和钩子方法。具体子类负责实现算法的...

(框架分析(9)-Hibernate) 专栏介绍 link主要对目前市面上常见的框架进行分析和总结,希望有兴趣的小伙伴们可以看一下,会持续更新的。希望各位可以监督我,我们一起学习进步。 Hibernate Hibernate是一个开源的Java持久化框架,它提供了一种将Java对象映射到数据库表的方法,使得开发人员可以使用面向对象的方式来操作数据库。 特性 对象关系映射(ORM) Hibernate的核心思想是将Java对象与数据库表进行映射,开发人员可以通过操作Java对象来实现对数据库的操作,而无需直接编写SQL语句。Hibernate使用了一系列的映射规则和注解来定义Java对象与数据...

(小谈设计模式(10)—原型模式) 专栏介绍 专栏地址 link 专栏介绍 主要对目前市面上常见的23种设计模式进行逐一分析和总结,希望有兴趣的小伙伴们可以看一下,会持续更新的。希望各位可以监督我,我们一起学习进步,加油,各位。 原型模式 这是一种创建型设计模式,它允许通过复制现有对象来创建新对象,而无需通过实例化类来创建。它通过克隆现有对象的属性和方法来创建新对象,从而避免了创建对象时的重复工作。 角色分类 抽象原型(Prototype) 定义了克隆方法的接口,通常是一个接口或抽象类。该接口中声明了一个克隆方法,用于复制原型对象。 具体原型(ConcretePrototype) 实现了抽象...

(框架分析(8)-ReactNative) 专栏介绍 link主要对目前市面上常见的框架进行分析和总结,希望有兴趣的小伙伴们可以看一下,会持续更新的。希望各位可以监督我,我们一起学习进步。 ReactNative ReactNative是Facebook开源的一款用于构建跨平台移动应用的框架。它基于React,可以使用JavaScript编写应用程序,并将其转换为原生代码,以在iOS和Android上运行。 特性和优势 跨平台开发: 使用ReactNative,开发人员可以编写一次代码,然后将其转换为适用于iOS和Android的原生应用。这意味着可以节省大量开发时间和资源,而不必为不同平台编...

关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~