创建型:构造器模式

创建,构造,模式 · 浏览次数 : 53

小编点评

**简介** 构造器模式是一种设计模式,它将对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 **定义** 构造器模式的定义不太容易理解,但简单来说就是对象的属性是通过一个构造器来设置的,最后返回一个不同属性的对象。 **在 JS 中的构造器** 在 JS 中,我们使用构造器去初始化对象,就是应用了构造器模式。构造器模式本质上是抽象了每个实例对象的变与不变,变的是各个实例属性值的不一样,不变的是各个对象的结构。 **小结构造器模式** 小结构造器模式是构造器模式的一种特殊形式,它封装了对象的不变的共性(属性),变化的东西(属性的值),关注对象实例问题。

正文

简介

构造器模式,也被称为建造者、生成器模式,是设计模式中比较容易理解的模式之一。

定义:将一个对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 定义不太容易理解,简单的说就是构造器模式中的对象的属性是通过一个构造器来设置的,最后返回一个不同属性的对象。 

在js中我们在创建对象时可以使用字面量的形式来创建对象

let o = { name: '', age: ''}

如果我们需要创建类似这样结构的对象创建100个,我们通常会通过构造函数来生成,如下代码

function Person(name,age){
  this.name = name;
  this.age = age;
}
let person1 = new Person("mjj",28);
let person2 = new Person("alex",25);

构造器模式 就是在构造函数中 初始化实例对象属性。上面的代码中Person就是一个构造器。在这个构造器中,我们能够观察到:实例的共同点都有name、age属性,不同点name、age的属性值,各个实例不同,由此可见构造器封装了实例对象实例的“变”与“不变”

在 JavaScript 中,我们使用构造器去初始化对象,就是应用了构造器模式,通常这种函数我们叫构造函数。

构造器模式本质上是抽象了每个实例对象的变与不变,变的是各个实例属性值的不一样,不变的是各个对象的结构。

小结

  1. 构造器模式:封装不变的共性(属性),变化的东西(属性的值),关注对象实例问题。
  2. 在JavaScript 中,我们使用构造函数去初始化对象,就是应用了构造器模式。

与创建型:构造器模式相似的内容:

创建型:构造器模式

简介 构造器模式,也被称为建造者、生成器模式,是设计模式中比较容易理解的模式之一。 定义:将一个对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 定义不太容易理解,简单的说就是构造器模式中的对象的属性是通过一个构造器来设置的,最后返回一个不同属性的对象。 在js中我们在创建对象时可以

【23种设计模式】单例模式(一)

## 前言: 单例模式是创建型模式5种中的第1种,**关注对象的创建, 保证一个类仅有一个实例,并且提供一个全局访问点**。在软件系统中,经常有这样一些特殊的类,必须保证它们在系统中只存在一个实例,才能确保它们的逻辑正确性、以及良好的效率。如何绕过常规的构造器,提供一种机制来保证一个类只创建一个实例

Builder 生成器模式简介与 C# 示例【创建型2】【设计模式来了_2】

在构造一个复杂的对象(参数多且有可空类型)时,通过一个统一的构造链路,可选择的配置所需属性值,灵活实现可复用的构造过程。

第一百一十七篇: JavaScript 工厂模式和原型模式

好家伙,本篇为《JS高级程序设计》第八章“对象、类与面向对象编程”学习笔记 1.工厂模式 工厂模式是另外一种关注对象创建概念的创建模式。 它的领域中同其它模式的不同之处在于它并没有明确要求我们使用一个构造器。 取而代之,一个工厂能提供一个创建对象的公共接口,我们可以在其中指定我们希望被创建的工厂对象

设计模式学习(四):建造者模式

设计模式学习(四):建造者模式 作者:Grey 原文地址: 博客园:设计模式学习(四):建造者模式 CSDN:设计模式学习(四):建造者模式 建造者模式 建造者模式是创建型模式。 我们在对一个实体类进行属性的 get 或 set 的时候,可以通过封装一些常用的构造方法来简化实体类的构造。 比如 Ef

一文教会你mock(Mockito和PowerMock双剑合璧)

Mock有模仿、伪造的含义。Mock测试就是在测试过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试的测试方法。

Java JVM——10.对象实例化、内存布局与访问定位

对象实例化 对象创建方式 ★ new:最常见的方式、单例类中调用getInstance的静态类方法,XXXFactory的静态方法。 ★ Class的newInstance方法:在JDK9里面被标记为过时的方法,因为只能调用空参构造器。 ★ Constructor的newInstance(Xxx):

如何创建一个线程池,为什么不推荐使用Executors去创建呢?

我们在学线程的时候了解了几种创建线程的方式,比如继承Thread类,实现Runnable接口、Callable接口等,那对于线程池的使用,也需要去创建它,在这里我们提供2种构造线程池的方法: 方法一: 通过ThreadPoolExecutor构造函数来创建(首选) 这是JDK中最核心的线程池工具类,

[转帖]kafka漏洞升级记录,基于SASL JAAS 配置和 SASL 协议,涉及版本3.4以下

攻击者可以使用基于 SASL JAAS 配置和 SASL 协议的任意 Kafka 客户端,在对 Kafka Connect worker 创建或修改连接器时,通过构造特殊的配置,进行 JNDI 注入。 影响范围:2.3.0 <= Apache Kafka <= 3.3.2 解决办法:升级到3.4版本

从零开始使用 Astro 的实用指南

在这个实用的Astro指南中,我将指导你完成设置过程,并告诉你如何构造你的文件。你将学习如何添加页面、交互式组件,甚至是markdown文章。我还会告诉你如何从服务器上获取数据,创建布局,并使用vanilla JavaScript和其他框架添加互动性。准备好享受一些动手的乐趣,因为我们将一起创建一个