当前位置: 首页 > news >正文

自己建网站写小说做汽车网站

自己建网站写小说,做汽车网站,如何在网站做投票,前端做网站使用的软件工具设计模式简述 设计模式的核心在于提供了相关问题的解决方案,使得人们可以更加简单方便地复用成功的设计和体系结构。 生成器模式(创建型设计模式) 意图:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以…

设计模式简述

设计模式的核心在于提供了相关问题的解决方案,使得人们可以更加简单方便地复用成功的设计和体系结构

生成器模式(创建型设计模式)

意图:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示

生成器模式适用于:

  • 当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时

  • 当构造过程必须允许被构造的对象有不同的表示时

具体实例(Java语言)

我们将使用 Builder 模式 编写一个 “文档” 编辑程序。一篇文档应当包含如下结构

● 含有一个标题
● 含有内容(字符串)
● 含有条目项目(列表)

Builder 类中定义了决定文档结构的方法,然后 Director 类使用该方法编写一个具体的文档。

Builder 类是抽象类,它只是声明了抽象方法。它的子类决定了具体编写文档的处理
● MDBuilder 类:使用MD编写文档
● HTMLBuilder 类:使用 HTML 编写文档

1.Builder类

/*** 声明编写文档的方法的抽象类* 1. makeTitle 编写标题 2. makeString 编写普通文本 3. makeTimes 条目 4. close* 完成文档编写的方法*/
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 类中声明的方法来编写文档*/
class Director {private Builder builder;public Director(Builder builder) {this.builder = builder;}public void construct() {builder.makeTitle("Build Pattern实验");builder.makeH1("实验目的");builder.makeString("利用Build模式,设计并实现一个能够同时扩展标记语言种类和生成文档种类的文档生成器");builder.makeH1("实验内容");builder.makeTimes(new String[]{"利用Build模式,设计并实现一个文档生成器。它支持多种标记语言(比如Markdown、Latex,并可以在未来支持其他标记语言),并能生成多种文档,比如html、pdf等。"});builder.close();}
}

2.MDBuilder

import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;/*** MD文本编写文档*/
public class MDBuilder extends Builder {private String filename;private PrintWriter writer;public void makeTitle(String title) {filename = "Build pattern 实验.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类

import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;/*** 使用 HTML 编写文档*/
public class HTMLBuilder extends Builder {private String filename;private PrintWriter writer;public void makeTitle(String title) {filename = "Build pattern 实验.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类

/*** 实际编写文档的是 Builder 类*/
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://www.yayakq.cn/news/476992/

相关文章:

  • 上海网站建设86215工业设计在线官网
  • 3网站建设公司穿越yin线的做网站
  • 网站建设教学如何建设软件下载网站
  • 四川省建设网站评标专家考试怎么选择锦州网站建设
  • 做网站后台用什么语言好潮汕学院网站开发
  • wordpress mip站实战营销型网站建设
  • 招商网站怎么做西安建筑科技大学华清学院教务网
  • 梧州网站建设费用南平 建网站
  • 做门户网站大数据技术就业和发展前景
  • 鄂州做网站查询公司的网站备案
  • 怎样更新网站快照企业网站推广的好处
  • 西安做一个企业网站要多少钱批量制作图片的软件
  • 云南档案馆网站建设资金网站建设 诺德中心
  • seo推广用什么做网站好服装设计一般要学几年
  • 动漫网站的建设目标网站系统免费
  • 网站导航条用什么做淘客网站怎么做
  • 石家庄网站推广服务平台丽江网站开发找千素网
  • 赣榆建设局网站石家庄外贸网站制作公司
  • 自己怎么制作企业网站优秀的网站首页
  • 制作社交app的网站wordpress 图标不显示
  • 单项否决 网站建设前端做用vue做后台多还是做网站多
  • 网站建设公司软jian湖南岚鸿生鲜网站开发
  • 做h5网站高端网站案例网站建设
  • 四大门户网站是哪些沭阳网站建设shy1z
  • 怎么做和京东一样网站企业网站的缺点
  • 网站到处仿php是网站开发语言吗
  • 做网站需要apacheyeti2.0 wordpress主题
  • 单位网站开发vps空间如何做网站备份
  • 做自己的网站的好处哪些网站是.net开发的
  • 湘潭网站建设湘潭振企专业怎么制作网站的网页设计