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

全新升级网站如果你会建网站

全新升级网站,如果你会建网站,适合平面设计师的网站,网站源代码购买如果要构建的对象很复杂,那么可以将整个构建过程拆分成多个步骤,并为每一个步骤定义一个抽象的接口。并添加一个指导者用来控制构建产品的顺序和步骤。 Java实现: // 产品类 class Product {private String part1;private String part2;pub…

如果要构建的对象很复杂,那么可以将整个构建过程拆分成多个步骤,并为每一个步骤定义一个抽象的接口。并添加一个指导者用来控制构建产品的顺序和步骤。

Java实现: 

// 产品类
class Product {private String part1;private String part2;public void setPart1(String part1) {this.part1 = part1;}public void setPar2(String part2) {this.part2 = part2;}// 其他属性和方法
}// 抽象建造者接口
interface Builder {void buildPart1(String part1);void buildPart2(String part2);Product getResult();
}// 具体建造者类
class ConcreteBuilder implements Builder {private Product product = new Product();@Overridepublic void buildPart1(String part1) {product.setPart1(part1);}@Overridepublic void buildPart2(String part2) {product.setPart2(part2);}@Overridepublic Product getResult() {return product;}
}
// 指导者类
class Director {private Builder builder;public Director(Builder builder) {this.builder = builder;}// 调用方法构建产品public void construct() {builder.buildPart1("Part 1");builder.buildPart2("Part 2");}
}public class Main {public static void main(String[] args) {// 创建指导者和建造者对象Builder builder = new ConcreteBuilder();Director director = new Director(builder);// 指导者构建产品director.construct();// 获取构建好的产品Product product = builder.getResult();// 输出产品信息System.out.println(product);}
}

 【设计模式专题之建造者模式】4. 自行车加工

CPP版题解:

#include <iostream>
#include <string>
using namespace std;class Bike {
public:string frame;string tires;void setFrame(const string& frame) {this->frame = frame;}void setTires(const string& tires) {this->tires = tires;}friend ostream& operator << (ostream& os, const Bike& bike) {os << bike.frame << " " << bike.tires;return os;}
};class BikeBuilder {
public:virtual void buildFrame() = 0;virtual void buildTires() = 0;virtual Bike getResult() = 0;
};class MountainBikeBuilder : public BikeBuilder {
private:Bike bike;
public:void buildFrame() override {bike.setFrame("Aluminum Frame");}void buildTires() override {bike.setTires("Knobby Tires");}Bike getResult() override {return bike;}
};
class RoadBikeBuilder : public BikeBuilder {
private:Bike bike;
public:void buildFrame() override {bike.setFrame("Carbon Frame");}void buildTires() override {bike.setTires("Slim Tires");}Bike getResult() override {return bike;}
};class BikeDirector {
public:Bike construct(BikeBuilder& builder) {builder.buildFrame();builder.buildTires();return builder.getResult();}
};int main() {int N;cin >> N;BikeDirector director;for (int i = 0; i < N; i++) {string bikeType;cin >> bikeType;BikeBuilder* builder;if (bikeType == "mountain") {builder = new MountainBikeBuilder();} else {builder = new RoadBikeBuilder();}Bike bike = director.construct(*builder);cout << bike << endl;delete builder;}return 0;
}

 

http://www.yayakq.cn/news/639461/

相关文章:

  • 电脑登录不了建设银行网站怎么介绍自己的网页设计
  • 网站开发兼职成都建设阅读网站的研究意义
  • 医院网站建设与管理pptwordpress蜘蛛记录
  • 做奖杯的企业网站郑州网站制作的公司
  • 网站如何注册兰州网站建设流程
  • ps课堂网站织梦网站需要付费吗
  • 网站建设炫彩图片大连做网站那个公司最好
  • js企业网站模板网站创建app
  • 廊坊app开发公司seo推广营销网站
  • 三大门户网站青岛的网站设计公司
  • 十佳工业设计公司长宁哪里有做网站优化比较好
  • 免费网站制作开发公司中小企业网站多大空间
  • 视频库网站建设商标注册申请入口
  • 陕西网站制作qq群网站开发需要几个人
  • 网站粘性江西的赣州网站建设
  • 简单建网站app下载量查询
  • asp网站500错误西安最新通知今天
  • 甘井子区城市建设管理局网站如何做网络营销推广服务机构
  • 微网站免费建设平台静态html转化wordpress主题
  • 扬州网站建设哪家公司好网站图片地址怎么做
  • 做a暧小视频在线观看网站昆明seo怎么做
  • ppt模板网站源码施工企业
  • 网站不备案可以登录吗网站标签怎么做跳转页面
  • 兼职网站建设策划书大连模板网站制作服务
  • 怎样建立销售网站广西网站建设价格多少
  • 顺德o2o网站建设贵阳百度推广电话
  • 网站建设招标方案模板天津建设培训中心网站
  • 嘉定江桥网站建设网页的设计与制作
  • 广东网页空间网站平台邯郸做商城网站的公司
  • 怎么做qq刷会员的网站跨境电商erp软件前十名