06 2022 档案

【设计模式】16.行为型模式-策略(Strategy)
摘要:一、描述 定义了一系列算法,并将每个算法封装起来,使它们可以相互替换,且算法的改变不会影响使用算法的客户。 1.角色 (1)抽象类:定义算法方法。 (2)具体实现类:继承抽象类,实现算法方法。 2.类图 二、 以快速排序算法、合并排序算法为例,类图很简单,和上面的类图差不多,所以就不画了。直接上代码 阅读全文

posted @ 2022-06-28 15:49 技术猫猫 阅读(36) 评论(0) 推荐(0) 编辑

【设计模式】15.行为型模式-模板方法(TemplateMethod)
摘要:一、描述 定义一个操作中的算法的骨架,而将一些步骤延迟到子类中,使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 角色: 1.抽象模板类:负责定义算法方法 2.具体模板类:实现抽象模板类方法 类图: 二、优点 1.封装不变部分,扩展可变部分 2.提取公共代码,便于维护 3.行为由父类 阅读全文

posted @ 2022-06-28 15:49 技术猫猫 阅读(24) 评论(0) 推荐(0) 编辑

【设计模式】14.创建型模式-建造者(Builder)
摘要:【设计模式】14.创建型模式-建造者(Builder)一、描述 是将一个复杂的对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。在用户不知道对象的建造过程和细节的情况下就可以直接创建复杂的对象。建造者模式按顺序创建复杂对象(把内部的建造过程和细节隐藏起来)。 角色包含以下分类: 产品(Product):产品以及其包含的属性。 抽象建造者( 阅读全文

posted @ 2022-06-22 09:38 技术猫猫 阅读(82) 评论(0) 推荐(0) 编辑

【设计模式】13.创建型模式-抽象工厂(AbstractFactory)
摘要:【设计模式】13.创建型模式-抽象工厂(AbstractFactory)一、描述 提供一个创建产品族的接口,其每个子类可以生产一系列相关的产品。不同于工厂方法模式,工厂方法模式的工厂只能生产一种产品。 抽象工厂的角色分类: 1.抽象产品:定义产品的使用方法。 2.具体产品:实现抽象产品,定义了该种产品的具体使用方法。 3.抽象工厂:定义生产产品的功能。 4.具体工厂:实 阅读全文

posted @ 2022-06-22 09:38 技术猫猫 阅读(24) 评论(0) 推荐(0) 编辑

7.@Data注解及其hashCode设值的研究
摘要:7.@Data注解及其hashCode设值的研究今天写原型模式的示例时,涉及到Object的clone方法,发现了一个问题,加了@Data的实体在使用clone方法之后,二者比对的hash值相同,使用get、set方法的实体,在使用clone方法之后,二者比对的hash值不同,把示例贴出来,如下: 1.使用@Data: @Data public 阅读全文

posted @ 2022-06-14 16:45 技术猫猫 阅读(241) 评论(0) 推荐(0) 编辑

【设计模式】12.创建型模式-工厂方法(Factory Method)
摘要:一、描述 定义一个用于创建产品的接口,由子类工厂决定生产什么产品。解决了简单工厂模式破坏开闭原则的弊端 工厂方法模式的角色包含: 1.抽象工厂:构造了一个生产产品的接口方法。 2.具体工厂:指定生产某种产品,实现了抽象工厂的接口方法。 3.抽象产品:定义了一系列产品的通用使用方法。 4.具体产品:某 阅读全文

posted @ 2022-06-14 09:51 技术猫猫 阅读(36) 评论(0) 推荐(0) 编辑

【设计模式】11.创建型模式-简单工厂模式(Simple Factory)
摘要:在工厂模式的大类中,具体有三个小的子类模式,包含简单工厂模式、工厂方法模式、抽象工厂模式。其中简单工厂模式并没有放到23种设计模式中,但是对于理解另外两种设计模式有重要作用。这篇文章中,主要介绍一下简单工厂模式: 一、描述 简单工厂模式有一个具体的工厂类,可以生成多个不同的产品。 该模式的使用场景为 阅读全文

posted @ 2022-06-13 09:52 技术猫猫 阅读(26) 评论(0) 推荐(0) 编辑

【设计模式】9.创建型模式-单例模式(Singleton)
摘要:一、描述: 某个类只能生成一个实例,该类提供了一个全局访问点供外部获取该实例,其拓展是有限多例模式。 二、特点: 1.单例类只有一个实例对象 2.该单例对象必须由单例类自行创建 3.单例类对外提供一个访问该单例的全局访问点。 三、优点: 1.单例模式可以保证内存里只有一个实例,减少了内存的开销。 2 阅读全文

posted @ 2022-06-07 10:22 技术猫猫 阅读(31) 评论(0) 推荐(0) 编辑

【设计模式】8.设计模式原则-合成复用原则
摘要:一、原则: 要求在软件复用时,要尽量先使用组合或者聚合等关联关系来实现,其次才考虑使用继承关系来实现。 二、和继承复用的区别 合成复用和继承复用在类的关系有差别,一个是继承,一个是组合关系。我认为在实际使用时,可以根据业务场景来区别使用,这样不会很乱。 继承复用的优缺点: 优点: 1.使用比较方便, 阅读全文

posted @ 2022-06-07 10:21 技术猫猫 阅读(73) 评论(0) 推荐(0) 编辑

【设计模式】6.设计模式原则-接口隔离原则
摘要:一、原则: 一个类对另一个类的依赖应该建立在最小的接口上。要为各个类建立它们需要的专用接口,而不要试图去建立一个很庞大的接口供所有依赖它的类去调用。 二、作用: 1.将臃肿庞大的接口分解为多个粒度小的接口,可以预防外来变更的扩散,提高系统的灵活性和可维护性。 2.接口隔离提高系统的内聚性,减少了对外 阅读全文

posted @ 2022-06-02 10:46 技术猫猫 阅读(54) 评论(0) 推荐(0) 编辑

【设计模式】7.设计模式原则-迪米特法则
摘要:一、原则: 如果两个软件实体无须直接通信,那么就不应当发生直接的相互调用,可以通过第三方转发该调用。其目的是降低类之间的耦合度,提高模块的相对独立性。 二、作用: 1.降低了类之间的耦合度,提高了模块的相对独立性 2.由于亲和度降低,从而提高了类的可复用性和系统的扩展性。 3.过渡使用迪米特法则会使 阅读全文

posted @ 2022-06-02 10:46 技术猫猫 阅读(43) 评论(0) 推荐(0) 编辑

【设计模式】4.设计模式原则-单一职责原则
摘要:一、原则: 规定一个类应该有且仅有一个引起它变化的原因,否则类应该被拆分。 二、作用: 1.降低类的复杂度。一个类只负责一项职责,其逻辑肯定要比负责多想职责简单得多。 2.提高类的可读性。复杂性降低,自然其可读性会提高 3.提高系统的可维护。 4.变更引起的风险降低。变更是必然的,如果单一职责原则遵 阅读全文

posted @ 2022-06-01 11:28 技术猫猫 阅读(51) 评论(0) 推荐(0) 编辑

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示