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

歡迎訪問 生活随笔!

生活随笔

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

asp.net

java蝇量模式_Head First设计模式——蝇量和解释器模式

發布時間:2023/12/4 asp.net 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java蝇量模式_Head First设计模式——蝇量和解释器模式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

蠅量

蠅量模式:如果讓某個類的一個實例能用來提供許多“虛擬實例”,就使用蠅量模式。

在一個設計房子的平臺中,周圍要加上一些樹,樹有一個坐標XY坐標位置,而且可以根據樹的年齡動態將自己繪制出來。如果我們創建許多樹之后,會有許多樹的實例對象。使用一個樹實例和一個客戶對象來維護“所有”樹的狀態,這就是蠅量模式。

設計類圖:

實現代碼:

①創建一個存儲樹狀態的類

1 public class TreeState

{

public int X { get; set; }

public int Y { get; set; }

public int Age { get; set; }

}

②創建一個沒有狀態的樹對象

1 public class Tree

{

public void Display(int x, int y, int age) {

Console.WriteLine($"坐標:{x},{y} 樹齡:{age}");

}

}

③創建管理對象

1 public class TreeManager

{

List treeArray;

private Tree treeObj;

public TreeManager(List trees) {

treeArray = trees;

treeObj = new Tree();

}

public void DispalyTress() {

foreach (var tree in treeArray)

{

treeObj.Display(tree.X, tree.Y, tree.Age);

}

}

}

優點:

1、減少運行時對象實例的個數,節省內存。

2、將許多”虛擬“對象的狀態集中管理。

用途和缺點:

1、當一個類有許多的實例,而這些實例能夠被統一方法控制,我們就可以使用蠅量模式。

2、蠅量的缺點在于一旦你實現了它,單個實例無法擁有獨立而不同的行為。

解釋器

解釋器模式:為語言創建解釋器

給定一個語言,定義它的文法表示,并定義一個解釋器,這個解釋器使用該標識來解釋語言中的句子。每個語法規則都用一個類代表。請特別留意,類直接映射到語法。

一般書中講解的模式不一定在我們使用的時候需要完全照搬,可以多些對應的解釋器類都是合理的。

類圖:

示例代碼:

①抽象類

1 public interface Expression

{

///

/// 解釋方法

///

///

///

public Object interpret(String input);

}

②終結符表達式類

1 public class TerminalExpression : Expression

{

public object interpret(string input)

{

//對終結符表達式的解析

return null;

}

}

③非終結表達式類

1 public class NonterminalExpression : Expression

{

private Expression exp1;

private Expression exp2;

public Object interpret(string input)

{

//非終結符表達式的解析處理

return null;

}

}

④上下文類

1 public class Context

{

private Expression exp;

public Context()

{

//數據初始化或者對象等

}

public void operation(string input)

{

//解析語句操作

}

}

優點:

1、將每一個語法規則表示成一個類,方便于實現語言。

2、因為語法由許多類表示,所以可以輕易地改變或擴展語言。

3、通過在類結構中加入新方法,可以在解釋的同時增加新行為,例如打印格式美化或進行復雜程序驗證。

用途和缺點:

1、當需要實現一個簡單的語言時,使用解釋器。

2、可以處理腳本語言和編程語言。

3、當語法數目太大太復雜時,這個模式會變得繁雜。

關于找一找教程網

本站文章僅代表作者觀點,不代表本站立場,所有文章非營利性免費分享。

本站提供了軟件編程、網站開發技術、服務器運維、人工智能等等IT技術文章,希望廣大程序員努力學習,讓我們用科技改變世界。

[Head First設計模式——蠅量和解釋器模式]http://www.zyiz.net/tech/detail-118645.html

總結

以上是生活随笔為你收集整理的java蝇量模式_Head First设计模式——蝇量和解释器模式的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 国产农村熟妇videos | 欧美日本韩国一区二区 | 国产成人毛毛毛片 | 91草视频| 成人资源站 | 日韩骚片 | 麻豆md0077饥渴少妇 | 最新天堂中文在线 | 91综合久久 | 免费成人深夜在线观看 | 一边摸内裤一边吻胸 | 嫩草一区二区三区 | jizzjizzjizz亚洲女 | 中文字幕电影一区 | 精品黄色片 | 日本一区不卡视频 | 精品一级少妇久久久久久久 | 香蕉爱爱视频 | 国产av剧情一区二区三区 | 性xxxfllreexxx少妇 | 一区二区国产精品视频 | 美女黄免费 | 国产精品黑人一区二区三区 | 国产久操视频 | 黄色电影在线视频 | 精品一区二区三区成人免费视频 | 日韩精品一区在线视频 | 免费黄色在线 | 久久久噜噜噜www成人 | 久一在线 | 青青青青草| 91免费在线播放 | 91久久久久久久久久久久久 | 中文字幕99 | 欧美一级免费在线观看 | 人妻精品无码一区二区 | 黄色一及毛片 | 97人人澡 | 国产男女啪啪 | 国内自拍视频在线观看 | 日日摸天天添天天添破 | 亚洲精品va| 一本色道久久综合精品婷婷 | 日韩一区二区免费播放 | 亚洲国产精彩视频 | 国色天香网站 | 狠狠躁夜夜躁人人爽天天高潮 | 在线观看国产一区 | 日本黄色网页 | 奇米色在线| 国产精品国产三级国产播12软件 | 久久久亚洲精品无码 | av资源天堂 | 欧美精品一区二区视频 | 在线一区二区三区视频 | 国产精品揄拍100视频 | 日韩日韩日韩日韩日韩 | 另类综合视频 | 99精品偷自拍 | 一区二区片 | 性色av免费| 中文在线√天堂 | 国产精品久久777777 | 国产成人aaaa| 国产尤物| 亚洲精品综合久久 | 四虎精品欧美一区二区免费 | 人妻奶水人妻系列 | 老地方在线观看免费动漫 | 成人美女在线观看 | 国产精品网站视频 | 无遮挡又爽又刺激的视频 | 六月婷婷在线观看 | 日韩视频一区二区在线观看 | 久久久影院 | 久久成人a | 欧美性xxxxx极品娇小 | 欧美日本韩国在线 | av免费影院 | 视频在线 | 久久精品这里有 | 最近最经典中文mv字幕 | 国产成人无码精品亚洲 | 四川一级毛毛片 | 亚洲欧美在线一区二区 | 亚洲精品九九 | 大色网小色网 | 亚洲天堂一级片 | 国产aaa视频 | 奇米网在线观看 | 欧美美女黄色 | 理论片大全免费理伦片 | 国产精品人妖 | 两根大肉大捧一进一出好爽视频 | 香蕉久久夜色精品国产使用方法 | 香蕉视频黄在线观看 | 国产精品视频一区二区三区 | 成人黄性视频 | 欧美日韩精品一区二区三区 |