浅风w1ndの博客
  • 首页
  • 归档
  • 分类
  • 标签
  • 关于
  • 读书
  •   
  •   

结构式:组合模式

1 基本介绍​ 组合模式为:组合多个对象形成树形结构以表示具有”整体——部分“关系的层次结构。 ​ 组合模式对单个对象(即叶子对象)和组合对象(即容器对象)的使用具有一致性,组合模式又可以称为“整体—部分”(Part-Whole)模式,它是一种对象结构型模式。 ​ 在组合模式中引入了抽象构件类Component,它是所有容器类和叶子类的公共父类,客户端针对Component进行编
2022-03-15
设计模式
#设计模式

结构式:适配器模式

1 基本介绍​ 适配器模式:将一个接口转换成客户希望的另一个接口,使接口不兼容的那个类可以一起工作,其别名为包装类。 ​ 根据适配器类与适配者类的关系不同,适配器模式可分为对象适配器和类适配器两种 在对象适配器模式中,适配器与适配者之间是关联关系; 在类适配器模式中,适配器与适配者之间是继承(或实现)关系 ​ 一般来说,对象适配器使用频率更高 2 设计分析​ 使用适配
2022-03-15
设计模式
#设计模式

美团3-12笔试

关于美团3.12笔试题
2022-03-15
算法
#笔试

阿里3.14笔试

关于阿里3.14笔试题
2022-03-14
算法
#笔试

创建式:建造者模式

1 基本介绍​ 建造者模式为客户端返回的不是一个简单的产品,而是一个由多个部件组成的复杂产品。 ​ 定义如下:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 ​ 建造者模式和抽象工厂模式的不同: 建造者模式返回一个完整的复杂产品,而抽象工厂模式返回一系列相关的产品 在抽象工厂模式中,客户端通过选择具体工厂来生成所需对象,而在建造者模式中,客户端通过
2022-03-14
设计模式
#设计模式

创建式:原型模式

1 基本介绍​ 原型模式大概是:创建一个原型对象,再通过复制这个原型对象来创建更多同类型的对象 ​ 工作原理很简单:将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象拷贝自己来实现创建过程。 ​ 通过克隆方法所创建的对象是全新的对象,它们在内存中拥有新的地址,通常对克隆所产生的对象进行修改对原型对象不会造成任何影响,每一个克隆对象都是相互独立的 ​
2022-03-14
设计模式
#设计模式

创建式:单例模式

1 基本介绍​ 单例模式简单来说就是不用创建多个实例 ​ 单例模式有三个要点: 某个类只能有一个实例 它必须自行创建这个实例 必须自行向整个系统提供这个实例 ​ 这是最简单的设计模式,核心结构只有一个包含称为单例类的特殊类 ​ 下面就直接看看单例的几种实现方式把 2 设计分析2.1 饿汉式单例12345678910111213141516171819202122232
2022-03-14
设计模式
#设计模式

创建式:抽象工厂

1 基本介绍​ 前面介绍过,工厂方法每个工厂只能生产一个产品,会导致系统存在大量的工厂类,增加系统的开销。此时,可以将一些相关的产品组成一个“产品族”,由同一个工厂来生产。这就是抽象工厂的基本思想。 ​ 也就是说,一个工厂可以提供多个产品对象,而不是单一的产品对象,如一个电器工厂,可以生产电视机,冰箱,空调等。 引入两个概念 产品等级结构:产品等级结构即产品的继承结构,如一个抽象类是
2022-03-14
设计模式
#设计模式

设计模式的七大基本原则

1 基本介绍 设计原则名称 定义 使用频率 单一职责原则 一个类只负责一个功能领域中的相应职责 ✨✨✨✨ 开闭原则 软件实体应对外扩展开放,而对修改关闭 ✨✨✨✨✨ 里氏代换原则 所有引用基类对象的地方都能够透明地使用其子类的对象 ✨✨✨✨✨ 依赖倒转原则 抽象不应该依赖于细节,细节应该依赖于抽象 ✨✨✨✨✨ 接口隔离原则 使用多个专门的接口,而不使用单一的总接口 ✨✨
2022-03-13
设计模式
#设计模式

创建式:工厂方法

1 基本介绍​ 简单工厂方法模式由于每次引入新产品时,都需要通过传入参数的不同来创建不同的产品,这必定要修改工厂类的代码,违反了“开闭原则” ​ 从而出现了——工厂方法模式,就是解决该问题的 ​ 工厂方法中,不再提供统一的工厂类来创建所有的产品对象,而是针对不同的产品提供不同的工厂。 ​ 一般是定义一个用于创建对象的接口,让子类决定将哪一个类实例化。如下图 2 设计分析2
2022-03-13
设计模式
#设计模式
netty入门(二)

netty入门(二)

netty入门文章
2022-03-13
框架
#网络模型 #I/O

第284场周赛

6031. 找出数组中的所有 K 近邻下标 - 力扣(LeetCode) (leetcode-cn.com) 12345678910111213141516171819class Solution &#123;public: vector<int> findKDistantIndices(vector<int>& nums, int key, int k) &
2022-03-13
算法
#周赛 #LeetCode
抢红包:二倍均值法实现均匀分配

抢红包:二倍均值法实现均匀分配

二倍均值算法实现均匀分配算法介绍
2022-03-11
算法
#场景算法
Redis基础数据类型

Redis基础数据类型

关于Redis数据类型和运用场景的介绍以及分析
2022-03-10
数据库 > Redis
#Redis
JDK8新特性

JDK8新特性

关于JDK8的一些新特性
2022-03-09
Java
#Java
12345

搜索

Hexo Fluid
载入天数... 载入时分秒...
总访问量 次 总访客数 人