理解设计模式(九)——组合模式
组合模式理解设计模式(一)——简单工厂 理解设计模式(二)——工厂方法 理解设计模式(四)——建造者 理解设计模式(五)——原型模式 理解设计模式(六)——单例模式 理解设计模式(七)——适配器模式 理解设计模式(八)——桥接模式 提出问题许多对象与对象之间往往存在着一种类似于递归的关系。比如说, ...
Read more
理解设计模式(八)——桥接模式
桥接模式理解设计模式(一)——简单工厂 理解设计模式(二)——工厂方法 理解设计模式(四)——建造者 理解设计模式(五)——原型模式 理解设计模式(六)——单例模式 理解设计模式(七)——适配器模式 提出问题根据课本上的说法,有这样一种情况:一个对象存在两个变化的纬度。具体的🌰:实现一个图像显示 ...
Read more
理解设计模式(七)——适配器模式
适配器模式理解设计模式(一)——简单工厂 理解设计模式(二)——工厂方法 理解设计模式(四)——建造者 理解设计模式(五)——原型模式 理解设计模式(六)——单例模式 提出问题在开发过程中,我们经常要用到一系列的第三方库/API。这些第三方库所给定的接口格式可能不是我们想要的。为了接口格式的统一, ...
Read more
理解设计模式(六)——单例模式
单例模式理解设计模式(一)——简单工厂 理解设计模式(二)——工厂方法 理解设计模式(四)——建造者 理解设计模式(五)——原型模式 提出问题有时候,我们全局只需要一个对象。在不同的地方使用只是引用同一个对象。比如单例模式可以和工厂模式一起使用,因为我们往往只需要一个工厂。 解决问题如何实现单例模 ...
Read more
理解设计模式(五)——原型模式
原型模式理解设计模式(一)——简单工厂 理解设计模式(二)——工厂方法 理解设计模式(四)——建造者 提出问题当我们需要创建大量相似复杂对象的时候,如果直接采用new的方法,就需要给这些对象全都设置一定的属性。有较多的重复冗余代码。并且,创建对象也十分消耗资源。 如下所示: // new 创建le ...
Read more
CSS包含块
CSS 包含块(Containing Block)什么是包含块顾名思义,包含块就是包含了当前元素的那个元素。另外,既然叫包含“块”,那么那个元素一定是一个块元素。 包含块有什么用包含块最主要的作用是,当使用百分比单位时,确定是相对于谁的百分比。 例如,如果一个元素设定了CSS width: 100% ...
Read more
理解设计模式(四)——建造者模式
建造者模式理解设计模式(一)——简单工厂 理解设计模式(二)——工厂方法 写在前面许多时候,一个复杂对象往往是由许多个简单对象组合而成的。在创建这个复杂对象的过程中,我们可以一步一步,逐渐向对象中添加所需要的部分,最终形成一个完整的对象。 那么我们为什么不一步到位直接new一个对象呢?我们来比较一 ...
Read more
理解设计模式(三)——抽象工厂
抽象工厂模式理解设计模式(一)——简单工厂 理解设计模式(二)——工厂方法 写在前面之前已经讲了简单工厂模式和工厂方法模式,两者都是为了解决一些创建对象上的问题而产生的(简单来说就是能使用字符串指定具体创建的对象的类)。那么,抽象工厂模式又是为了解决什么问题而诞生的? 问题我们创建对象时,有时候对象 ...
Read more
理解设计模式(二)——工厂方法
理解工厂模式(二)理解设计模式(一)——简单工厂 写在前面上一篇我们讲到了简单工厂模式。简单工厂模式其实存在一定的问题(对于C++和Java这样的强类型语言来说),于是我们就要思考改进方案。 简单工厂存在的问题简单来说,简单工厂存在的问题就是,不满足开闭原则。如果我要添加一个生产的产品,那么我就需要 ...
Read more
理解设计模式(一)——简单工厂
理解工厂模式(一)写在前面最近在上设计模式这门课,吐槽一下某人教的实在是,听不懂(不过比上学期教的好多了,值得鼓励一下)。于是自己上网搜索资料,然后看书,稍微有点体会。 说了点废话,下面开始。 为什么要用工厂模式显然,要用工厂模式是因为我们遇到了一些问题。那么我们到底遇到了什么问题,才要使用工厂模式 ...
Read more