隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口
降低访问复杂系统的内部子系统时的复杂度,简化客户端之间的接口。
设计模式-模板方法模式
一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行
定义一个操作中的算法的骨架,而将一些步骤延迟到子类中
把不变的部分移至父类, 去除子类重复代码
设计模式-原型模式
原型模式是用于创建重复的对象,同时又能保证性能, 当直接创建对象的代价比较大时例如,一个对象需要在一个高代价的数据库操作之后被创建。我们可以缓存该对象,在下一个请求时返回它的克隆,在需要的时候更新数据库,以此来减少数据库调用。
设计模式-代理模式
创建具有现有对象的对象,以便向外界提供功能接口。用于解决直接访问对象时带来的问题
设计模式-策略模式
定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。
在有多种算法相似的情况下,使用 if…else 所带来的复杂和难以维护。
策略模式相对简单工厂耦合度更低, 只需要开放一个类给客户端
无论是简单工厂还是策略模式都没有消除switch, 若想消除可用反射, 参考抽象工厂模式
设计模式-装饰模式
装饰模式:
把所需的功能按正确的顺序串联起来
动态的给一个对象添加一些职责
Git设置git diff用Codecompare
本文字数: 523 阅读时长 ≈ 1 分钟
Git配置
打开.gitconfig
1 | [difftool "codecompare"] |
设计模式-抽象工厂
抽象工厂, 将工厂抽象出来
工厂方法模式和抽象工厂模式都是创建型设计模式,它们的主要区别在于所创建的对象范围不同。
工厂方法模式(Factory Method)通过让子类实现工厂接口,来决定具体应该创建哪一个产品类的实例对象。它允许我们在不改变现有代码基础上添加新的产品类型,并且可以将具体产品的实现与调用方分离开来。
抽象工厂模式(Abstract Factory)与工厂方法模式类似,也是用于创建一系列相关的对象。不同之处在于,抽象工厂是针对多个产品族而言的,即每个工厂可以创建多种不同类型的产品。这样的话,抽象工厂为创建一组相关或独立的对象提供了一种方式。
工厂方法模式通常只针对一个抽象产品类进行创建,而抽象工厂模式则需要针对多种抽象产品进行创建。
设计模式-工厂方法
设计模式-简单工厂
一个工厂类创建所有产品
Git常用命令
本文字数: 1.1k 阅读时长 ≈ 1 分钟
基础命令
1 | git commit --amend #合并并修改上次提交 |
CSharp bit循环移位
本文字数: 591 阅读时长 ≈ 1 分钟
示例
1 | /// <summary> |
CSharp复习-子线程更新MainForm
本文字数: 372 阅读时长 ≈ 1 分钟
示例
1 |
|
CSharp Semaphore 信号量
本文字数: 1.7k 阅读时长 ≈ 2 分钟
VSCode CMake
本文字数: 10 阅读时长 ≈ 1 分钟
Winform动态更改Combox等宽度
本文字数: 1.3k 阅读时长 ≈ 1 分钟
DoIP协议解读
本文字数: 943 阅读时长 ≈ 1 分钟
Ubuntu Docker 搭建Gitlab
本文字数: 1.7k 阅读时长 ≈ 2 分钟
Git复习
本文字数: 3.5k 阅读时长 ≈ 3 分钟
CSharp执行外部exe
本文字数: 1k 阅读时长 ≈ 1 分钟