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

歡迎訪問 生活随笔!

生活随笔

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

asp.net

设计模式-创建型模式-工厂模式(工厂三兄弟) TypeScript

發布時間:2025/7/14 asp.net 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 设计模式-创建型模式-工厂模式(工厂三兄弟) TypeScript 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

設計模式-創建型模式-工廠模式(工廠三兄弟) TypeScript

簡單工廠模式

定義一個接口,三個具體類。然后書寫如下,通過選擇,生產出相應的對象

// 定義Shape接口 interface Shape {draw():void; }// 下面為產品類 // 產品 Circle class Circle implements Shape{public constructor(){}public draw():void{} }// 產品Rectangle class Rectangle implements Shape{public constructor(){}public draw():void{} }// 下面為生產產品的工廠,根據選擇,生產出不同的產品 class ShapeFactory {constructor(){}public static getShape(typeShape:string):Shape{if(typeShape === "Circle"){return new Circle();}if (typeShape === "Rectangle"){return new Rectangle();}if (typeShape === null){return null;}return null;} }// 下面編寫測試 let test:Shape = ShapeFactory.getShape("Circle"); // 調用draw方法 test.draw();

編譯后的js如下

// 下面為產品類 // 產品 Circle var Circle = /** @class */ (function () {function Circle() {}Circle.prototype.draw = function () {};return Circle; }()); // 產品Rectangle var Rectangle = /** @class */ (function () {function Rectangle() {}Rectangle.prototype.draw = function () {};return Rectangle; }()); // 下面為生產產品的工廠,根據選擇,生產出不同的產品 var ShapeFactory = /** @class */ (function () {function ShapeFactory() {}ShapeFactory.getShape = function (typeShape) {if (typeShape === "Circle") {return new Circle();}if (typeShape === "Rectangle") {return new Rectangle();}if (typeShape === null) {return null;}return null;};return ShapeFactory; }()); // 下面編寫測試 var test = ShapeFactory.getShape("Circle"); // 調用draw方法 test.draw();

利用反射改進

class ShapeFactory1 {constructor(){};public static getShape<T extends Shape>(c:{new ():T}):T{ // C類型為類return new c();} } let test = ShapeFactory1.getShape(Circle); test.draw(); var ShapeFactory1 = /** @class */ (function () {function ShapeFactory1() {};ShapeFactory1.getShape = function (c) {return new c();};return ShapeFactory1; }()); var test = ShapeFactory1.getShape(Circle); test.draw();

工廠方法

即,將工廠拆分

// 工廠方法 class CircleFactory{constructor(){}public static getShape():Shape{return new Circle();} } class RectangleFactory{constructor(){}public static getShape():Shape{return new Rectangle();} } let test = CircleFactory.getShape(); test.draw();

抽象工廠

抽象工廠比較簡單不在闡述。
www.iming.info

轉載于:https://www.cnblogs.com/melovemingming/p/10035177.html

總結

以上是生活随笔為你收集整理的设计模式-创建型模式-工厂模式(工厂三兄弟) TypeScript的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 国产成人久久77777精品 | 午夜免费看视频 | 亚洲高清中文字幕 | 亚洲作爱视频 | 天堂中文资源在线观看 | 中文字幕日韩精品一区 | 一区二区视频免费观看 | av在线小说| 制服丝袜亚洲色图 | 91精品国产综合久久国产大片 | 国产精品午夜福利视频234区 | 亚洲国产精品视频一区 | 四虎网址大全 | 中日韩黄色片 | 亚洲精品中文字幕乱码三区91 | 噜噜色av | 久久精品2019中文字幕 | 日韩少妇内射免费播放 | 亚洲一区二区三区四区在线观看 | 国产区在线看 | 五月天中文字幕 | 中文字幕在线观看一区二区三区 | 冲田杏梨一区二区三区 | 国模无码视频一区 | 亚洲欧洲精品一区二区三区 | 欧美福利社 | 一区二区精品在线 | 琪琪伦伦影院理论片 | 精品视频免费 | 中文字幕激情 | 久久久免费精品视频 | 亚洲精品成人片在线观看精品字幕 | 日本三级视频网站 | 久久久久久电影 | 91视频在线免费观看 | 亚洲天堂8| 成都4电影免费高清 | 亚洲在线综合 | 欧美一a一片一级一片 | 国产精品爽爽久久久久久 | 欧美成人精品一区二区三区在线看 | 中文字幕线人 | 深夜免费福利 | 性――交――性――乱 | 老司机福利精品 | 97超碰导航 | 不卡av网 | 亚洲二区在线 | 乱色欧美 | 一本大道熟女人妻中文字幕在线 | 欧美猛交免费 | 国产在线拍揄自揄拍无码视频 | 伊人影院中文字幕 | 在线日韩中文字幕 | 日本va欧美va国产激情 | 亚洲一区二区三区四 | 久久狠 | 国产精品视频一区二区在线观看 | 国产乱码精品一区二三赶尸艳谈 | 99精品视频免费版的特色功能 | 大肉大捧一进一出视频 | 青青草原国产在线 | 国产在线国偷精品免费看 | 国产v综合v亚洲欧美久久 | 国产a一级 | av嫩草 | 国产对白videos麻豆高潮 | 日日日日日日bbbbbb | 成人试看120秒体验区 | 黄色网av| 欧美九九视频 | 制服下的诱惑暮生 | 成人小视频免费在线观看 | 色吧av色av | 啪啪网站免费看 | 日本一区免费视频 | 久久精品噜噜噜成人88aⅴ | 一级黄色网址 | 99日精品 | 日本无遮挡边做边爱边摸 | 亚洲av成人片色在线观看高潮 | 99久久久无码国产精品免费蜜柚 | 日韩精品第1页 | 久久偷拍免费视频 | 久久一区精品 | 裸体男女树林做爰 | 国产精品一区二区欧美 | 国产又黄又爽又色 | 国产精品视频一区二区在线观看 | 无码精品在线视频 | 中文字幕日韩三级 | 性视频一区 | 日韩精品中文字幕在线观看 | 99热这里有 | 麻豆成人精品国产免费 | 欧美老女人性生活 | 欧美性色黄大片手机版 | 中文字幕+乱码+中文乱码www | 97超级碰碰 |