zoukankan      html  css  js  c++  java
  • JavaScript设计模式样例五 —— 建造者模式

    建造者模式(Builder Pattern)

     定义:使用多个简单的对象一步一步构建成一个复杂的对象。
     目的:将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。
     场景:一些基本部件不会变,而其组合经常变化的时候。
    
    // 声明一个产品类
    class Product {
        constructor () {
    
        }
    }
    
    // 声明一个建造者类
    class BuilderProduct {
        constructor () {
            // 建造产品名称
            this.nameBuilder = (name) => {
                this.name = name || null
            }
            // 建造产品版本
            this.versionBuilder = (version) => {
                this.version = version || null
            }
            // 建造产品生产日期
            this.createTimeBuilder = (createTime) => {
                this.createTime = createTime || null
            }
            // 组合建造产品
            this.getProduct = () => {
                let product = new Product()
                if (this.name) {
                    product.name = this.name
                }
    
                if (this.version) {
                    product.version = this.version
                }
    
                if (this.createTime) {
                    product.createTime = this.createTime
                }
    
                return product
            }
        }
    
    }
    
    // 声明一个需求类
    class Demand {
        constructor (demands) {
            let builderProduct = new BuilderProduct()
            builderProduct.nameBuilder(demands.name)
            builderProduct.versionBuilder(demands.version)
            builderProduct.createTimeBuilder(demands.createTime)
            return builderProduct.getProduct()
        }
    }
    
    let demand = new Demand({
        name: 'SKILL.NULL'
    })

    Git地址:https://github.com/skillnull/Design-Mode-Example

  • 相关阅读:
    day10 基本数据类型介绍-整形的魔法
    python 快捷键
    F5负载均衡 简要原理解析以及命令行命令
    Python之路(2)
    Pycharm的安装
    集合框架(Collection和Collections的区别)
    集合框架(04)HashMap扩展知识
    集合框架(04)HashMap
    集合框架(03)泛型
    MVC
  • 原文地址:https://www.cnblogs.com/Man-Dream-Necessary/p/12362889.html
Copyright © 2011-2022 走看看