日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

设计模式——建造者模式

發布時間:2025/3/20 asp.net 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 设计模式——建造者模式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

建造者模式

示例

描述

將一個復雜的對象構建層與其表示層相互分離, 同樣的構建過程中可采用不同的表示. 建造者模式與工廠模式的不同之處在于, 它更多關心
創建對象的過程, 甚至于每一個創建對象的細節.

案例

有一批求職者到招聘網站發布自己的簡歷.要求:除了興趣愛好可以發布在頁面上, 個人聯系方式不能發布, 要讓需求公司找招聘平臺.
需要找的工作可以分類.

分析明確創建內容:

  • 創建用戶信息如用戶名等需要獨立處理, 因為需要隱藏顯示

  • 應聘者需要獨立創建, 因為他們代表一個整體

  • 工作職位需要獨立創建, 因為他們是應聘者擁有的一部分, 而且種類較多

  • 實現

    // 創建一位人類 var Human = function(param) {this.skill = param && param.skill || '保密';this.hobby = param && param.hobby || '保密'; };Human.prototype = {getSkill: function() { return this.skill },getHobby: function() { return this.hobby } };// 實例化姓名類 var Named = function(name) {var that = this;// 構造器解析姓名的姓與名(function(name, that) {that.wholeName = name;if(name.indexOf(' ') > -1) {that.FirstName = name.slice(0, name.indexOf(' '));that.secondName = name.slice(name.indexOf(' '));}})(name, that); };// 實例化職位類 var Work = function() {var that = this;// 構造器中通過傳入的職位特征來設置相應職位以及描述(function(work, that) {switch(work) {case 'code':that.work = '工程師';that.workDescript = '每天沉醉于編程';break;case 'UI':// ...case 'UE':// ...default:that.work = work;that.workDescript = '對不起, 我們還不清楚您所選擇職位的相關描述';}})(work, that); };//更換期望的崗位 Work.prototype.changeWork = function(work) {this.work = work; };// 添加對職位的描述 Work.prototype.changeDescript = function(setence) {this.workDescript = setence; };/*** 應聘者建造者* 參數 name: 姓名* 參數 work: 期望職位*/ var Person = function(name, work) {// 創建應聘者緩存對象var _person = new Human();// 創建應聘者姓名解析對象_person.name = new Named(name);// 創建應聘者期望職位_person.work = new Work(work);// 將應聘者對象返回return _person; };// test: var person = new Person('xiao ming', 'code'); console.log(person.skill); // 保密 console.log(person.name.FirstName); // xiao console.log(person.work); // 工程師 console.log(person.work.workDescript); // 每天沉醉于編程person.work.changeDescript('更改一下職位描述'); console.log(person.work.workDescript); // 更改一下職位描述

    總結

    以上是生活随笔為你收集整理的设计模式——建造者模式的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。