国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁(yè) > news >正文

舟山市建設(shè)局網(wǎng)站網(wǎng)站設(shè)計(jì)優(yōu)化

舟山市建設(shè)局網(wǎng)站,網(wǎng)站設(shè)計(jì)優(yōu)化,網(wǎng)站如何實(shí)現(xiàn)臨時(shí)聊天,給網(wǎng)站做鏡像設(shè)計(jì)模式簡(jiǎn)述 設(shè)計(jì)模式的核心在于提供了相關(guān)問(wèn)題的解決方案,使得人們可以更加簡(jiǎn)單方便地復(fù)用成功的設(shè)計(jì)和體系結(jié)構(gòu)。 生成器模式(創(chuàng)建型設(shè)計(jì)模式) 意圖:將一個(gè)復(fù)雜對(duì)象的構(gòu)建與它的表示分離,使得同樣的構(gòu)建過(guò)程可以…

設(shè)計(jì)模式簡(jiǎn)述

設(shè)計(jì)模式的核心在于提供了相關(guān)問(wèn)題的解決方案,使得人們可以更加簡(jiǎn)單方便地復(fù)用成功的設(shè)計(jì)和體系結(jié)構(gòu)

生成器模式(創(chuàng)建型設(shè)計(jì)模式)

意圖:將一個(gè)復(fù)雜對(duì)象的構(gòu)建與它的表示分離,使得同樣的構(gòu)建過(guò)程可以創(chuàng)建不同的表示。

生成器模式適用于:

  • 當(dāng)創(chuàng)建復(fù)雜對(duì)象的算法應(yīng)該獨(dú)立于該對(duì)象的組成部分以及它們的裝配方式時(shí)

  • 當(dāng)構(gòu)造過(guò)程必須允許被構(gòu)造的對(duì)象有不同的表示時(shí)

具體實(shí)例(Java語(yǔ)言)

我們將使用 Builder 模式 編寫(xiě)一個(gè) “文檔” 編輯程序。一篇文檔應(yīng)當(dāng)包含如下結(jié)構(gòu)

● 含有一個(gè)標(biāo)題
● 含有內(nèi)容(字符串)
● 含有條目項(xiàng)目(列表)

Builder 類(lèi)中定義了決定文檔結(jié)構(gòu)的方法,然后 Director 類(lèi)使用該方法編寫(xiě)一個(gè)具體的文檔。

Builder 類(lèi)是抽象類(lèi),它只是聲明了抽象方法。它的子類(lèi)決定了具體編寫(xiě)文檔的處理
● MDBuilder 類(lèi):使用MD編寫(xiě)文檔
● HTMLBuilder 類(lèi):使用 HTML 編寫(xiě)文檔

1.Builder類(lèi)

/*** 聲明編寫(xiě)文檔的方法的抽象類(lèi)* 1. makeTitle 編寫(xiě)標(biāo)題 2. makeString 編寫(xiě)普通文本 3. makeTimes 條目 4. close* 完成文檔編寫(xiě)的方法*/
public abstract class Builder {public abstract void makeTitle(String title);public abstract void makeString(String str);public abstract void makeH1(String str);public abstract void makeTimes(String[] items);public abstract void close();
}/*** 使用 Builder 類(lèi)中聲明的方法來(lái)編寫(xiě)文檔*/
class Director {private Builder builder;public Director(Builder builder) {this.builder = builder;}public void construct() {builder.makeTitle("Build Pattern實(shí)驗(yàn)");builder.makeH1("實(shí)驗(yàn)?zāi)康?#34;);builder.makeString("利用Build模式,設(shè)計(jì)并實(shí)現(xiàn)一個(gè)能夠同時(shí)擴(kuò)展標(biāo)記語(yǔ)言種類(lèi)和生成文檔種類(lèi)的文檔生成器");builder.makeH1("實(shí)驗(yàn)內(nèi)容");builder.makeTimes(new String[]{"利用Build模式,設(shè)計(jì)并實(shí)現(xiàn)一個(gè)文檔生成器。它支持多種標(biāo)記語(yǔ)言(比如Markdown、Latex,并可以在未來(lái)支持其他標(biāo)記語(yǔ)言),并能生成多種文檔,比如html、pdf等。"});builder.close();}
}

2.MDBuilder

import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;/*** MD文本編寫(xiě)文檔*/
public class MDBuilder extends Builder {private String filename;private PrintWriter writer;public void makeTitle(String title) {filename = "Build pattern 實(shí)驗(yàn).md";try {writer = new PrintWriter(new FileWriter(filename));} catch (IOException e) {e.printStackTrace();}writer.println("# " + title);}public void makeH1(String str) {writer.println("## " + str);}public void makeString(String str) {writer.println(str);}public void makeTimes(String[] items) {for (int i = 0; i < items.length; i++) {writer.println("* " + items[i]);}}public void close() {writer.close();}public String getResult() {return filename;}
}

3.HTMLBuilder類(lèi)

import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;/*** 使用 HTML 編寫(xiě)文檔*/
public class HTMLBuilder extends Builder {private String filename;private PrintWriter writer;public void makeTitle(String title) {filename = "Build pattern 實(shí)驗(yàn).html";try {writer = new PrintWriter(new FileWriter(filename));} catch (IOException e) {e.printStackTrace();}writer.println("<html><head><title>" + title+ "</title></head><body>");writer.println("<h1>" + title + "</h1>");}public void makeH1(String str) {writer.println("<h1>" + str + "</h1>");}public void makeString(String str) {writer.println("<p>" + str + "</p>");}public void makeTimes(String[] items) {writer.println("<ul>");for (int i = 0; i < items.length; i++) {writer.println("<li>" + items[i] + "</li>");}writer.println("</ul>");}public void close() {writer.println("</body></html>");writer.close();}public String getResult() {return filename;}
}

4.Main類(lèi)

/*** 實(shí)際編寫(xiě)文檔的是 Builder 類(lèi)*/
public class Main {public static void main(String[] args) {// MD文檔生成MDBuilder textBuilder = new MDBuilder();Director director = new Director(textBuilder);director.construct();String result = textBuilder.getResult();System.out.println(result);// HTML文檔生成HTMLBuilder htmlBuilder = new HTMLBuilder();Director director1 = new Director(htmlBuilder);director1.construct();String result1 = htmlBuilder.getResult();System.out.println(result1);}
}


?

http://aloenet.com.cn/news/40459.html

相關(guān)文章:

  • 寧夏城鄉(xiāng)和住房建設(shè)廳網(wǎng)站網(wǎng)頁(yè)設(shè)計(jì)制作教程
  • 做網(wǎng)站的叫什么思耐什么網(wǎng)站都能進(jìn)的瀏覽器
  • 做網(wǎng)站頁(yè)面對(duì)PS切圖搜索引擎優(yōu)化工具
  • Ngnix打開(kāi)wordpressseo實(shí)訓(xùn)報(bào)告
  • 龍港網(wǎng)站建設(shè)網(wǎng)站營(yíng)銷(xiāo)
  • wordpress slides book南寧哪里有seo推廣廠家
  • 網(wǎng)站備案很麻煩嗎數(shù)據(jù)網(wǎng)站
  • wordpress 本地 搭建整站優(yōu)化深圳
  • 91色做爰免費(fèi)網(wǎng)站企業(yè)培訓(xùn)機(jī)構(gòu)排名
  • 鄭州哪些公司做網(wǎng)站比較好網(wǎng)站seo站群軟件
  • 淘寶聯(lián)盟怎么做自已的網(wǎng)站四川游戲seo整站優(yōu)化
  • 網(wǎng)上購(gòu)物網(wǎng)站開(kāi)發(fā)報(bào)價(jià)長(zhǎng)沙網(wǎng)站推廣排名優(yōu)化
  • java 做的網(wǎng)站搜狗收錄提交
  • 應(yīng)聘網(wǎng)站開(kāi)發(fā)題目競(jìng)價(jià)托管外包服務(wù)
  • 網(wǎng)站下拉菜單seo公司北京
  • div css制作個(gè)人網(wǎng)站營(yíng)銷(xiāo)策劃方案怎么寫(xiě)
  • 網(wǎng)站注冊(cè)免費(fèi)永久中國(guó)做網(wǎng)站的公司排名
  • 可以兼職做設(shè)計(jì)的網(wǎng)站深圳做網(wǎng)站的
  • 抖音seo排名系統(tǒng)公司影響seo排名的因素有哪些
  • 怎么樣做美術(shù)招生信息網(wǎng)站搜索引擎優(yōu)化目標(biāo)
  • 石首做網(wǎng)站的公司愛(ài)站網(wǎng)官網(wǎng)關(guān)鍵詞
  • 增城微信網(wǎng)站建設(shè)公司網(wǎng)絡(luò)推廣營(yíng)銷(xiāo)
  • 網(wǎng)站開(kāi)發(fā)實(shí)用技術(shù)響應(yīng)式網(wǎng)站模板的特點(diǎn)
  • 30天網(wǎng)站建設(shè)網(wǎng)站訪問(wèn)量查詢工具
  • wordpress gallery類(lèi)型seo網(wǎng)站優(yōu)化推薦
  • 新洲建設(shè)局網(wǎng)站如何實(shí)施網(wǎng)站推廣
  • 淘寶上做網(wǎng)站的信得過(guò)嗎東莞seo快速排名
  • 灰色行業(yè)老域名做網(wǎng)站不收錄小白如何學(xué)電商運(yùn)營(yíng)
  • 域名轉(zhuǎn)發(fā)網(wǎng)站朋友圈廣告30元 1000次
  • 男女直接做的視頻視頻網(wǎng)站蘇州seo怎么做