Loading...
**建造者(Builder)**模式是创建型设计模式的一种。也叫生成器模式。建造者模式可以将一个产品的内部表象与产品的生成过程分割开来。从而可以使一个建造过程生成具有不同的内部表象的产品对象。如果我们使用了建造者模式,那么用户就只需指定需要建造的类型就可以得到他们而具体建造的过程和细节就不需要知道了。 ### 问题 例如, 我们现在要创建一个 房屋House对象。 建造一栋简单的房屋...
近日在微博看到了这样一个有趣的代码 **](https://www.yangpanyao.com/archives/159.html "PHP设计模式-工厂模式(上)")中我们介绍了工厂模式中的简单工厂(Simple Factory)和抽象工厂(Factory Method),这篇文章我们来介绍学习一下抽象工厂(Abstract Factory)模式。 ### 抽象工厂(Abst...
**工厂模式**主要是为创建对象提供过渡接口,以便将创建对象的具体过程屏蔽隔离起来,达到提高灵活性的目的。 一般情况下**工厂模式**分为三种类型,简单...
**单例设计模式**(Singleton Design Pattern)理解起来非常简单。一个类只允许创建一个对象(或者实例),那这个类就是一个单例类,这种设计模式就叫作单例设计模式,简称单例模式。  ### 单例模式解决了哪些问题: 1. **保证一个...
### 设计模式的SOLID五条原则 SOLID原则是在罗伯特·马丁的著作《[敏捷软件开发:原则丶模式与实践](https://item.jd.com/...
## 设计原则 每一个行业,每一个人都有着自己的原则。面向对象也是一样,代码的复用性,扩展性,类的职责,高内聚,低耦合都是我们在开发过程中需要考虑的问题。优秀软件设计都会符合这些特征,在它们进行新的功能扩展时也会得心应手。 那么什么是优秀的软件设计? 如何对其进行评估? 你需要遵循哪些实践方式才能实现这样的方式? 如何让你的架构灵活、 稳定且易于理解?这些都是很好的问题。 但是, 我们实...
## 什么是设计模式 在软件的世界,每个开发机构就想一个部落,而模式就是对部落的某种共同记忆的一种具体表现。 ————Grady Booch 在《J2...
**前言** 在我们使用laravel框架的验证器,有的时候需要对表单等进行数据验证,当然laravel也为我们提供了 `Illuminate\Htt...
**1.冒泡排序** 冒泡排序(bubble sort)是一种交换排序,操作两个相邻的数据看大小是否满足大小关系要求,如不满足则交换他们的顺序 ,直到没...