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

东莞优化网站建设肥猫网站建设

东莞优化网站建设,肥猫网站建设,营销型网站制作哪个好薇,wordpress企业主题哥设计模式 生成器嗨#xff0c;您好#xff01; 今天#xff0c;我将分享我制作的全新设计模式系列的第一个。 构建器设计模式是开发严肃的应用程序时非常有用且通用的模式。 在这篇文章中#xff0c;我将提供一个很小的构建器模式框架#xff0c;因此您随时可以回到这里并… 设计模式 生成器 嗨您好 今天我将分享我制作的全新设计模式系列的第一个。 构建器设计模式是开发严肃的应用程序时非常有用且通用的模式。 在这篇文章中我将提供一个很小的构建器模式框架因此您随时可以回到这里并使用它。 助记符在处理构建器模式时会考虑自定义。 当我确定是否应该使用它还是最好去工厂的时候我总是在考虑它。 这样对我更好。 尝试一下。 UML 这是小框架的外观。 简单美观和直接。 背后的代码 该代码也非常简单小巧简洁且易于解释。 我喜欢编码表达力强的代码因此无需过多评论。 在此示例中我这样做了因为它具有教程角色。 在开发过程中我为自己创建了一些约定。 我认为这样做非常重要。 就像在开发时在语言上应用正确的语法一样。 例如如果我使用的是Builder模式则始终将后缀Builder放在最后。 好吧您现在可以说或想什么 但这实际上对于初学者和经验丰富的开发人员来说是非常非常重要的信息。 他们将自动看到其背后的想法并尝试不破坏其模式。 实际上经验丰富的开发人员会喜欢它并尝试继续进行出色的工作因为他们知道编写此内容的开发人员知道他的所作所为并且肯定有原因。 因此请始终保持足够的清晰并在正确的位置提供正确的信息。 稍后会有其他人感谢您。 但是现在到代码了... // 1. EXAMPLE: PARTS OF THE CUSTOMIZABLE PRODUCT WE WANT public interface Part {// DEFINE THE METHODS YOUR PARTS WILL HAVE...void anyMethodNameYouLike(); }// 2. THE BUILDER METHOD WILL ADD // PARTS RETURNING THE BUILDER ITSELF public interface BuildContract B {B mount(Part part); }// 3. DEFINE THE BUILDERS CONTRUCTION METHOD // WHICH BUILDS AND RETURNS THE FINAL PRODUCT T public interface Builder T extends BuildContract Builder T {T build(); }一个真实的例子 没有什么比修复和更好地理解它更好的了。 让我们建立一个蛋糕面包店。 您的一位同事想开一家面包店并要求您为他编写面包店的软件。 我们开始做吧.. 顺便说一句我衷心地向您推荐使用UML图表工具作为一种可视化机制可以显示您的想法并提高您的设计技能。 让我们从UML开始 比喻 现在让我们使用我们的微型框架对我们的面包店进行类比。 成分是零件配方是BuilderContract而Builder是建造者本身。 Cake是最终的可定制产品。 CakeBuilder是实际在定制后在添加了所需数量的零件–成分之后实际创建产品的类。 客户将是最终客户或接受订单的您的同事。 只是使用或想象...让我们现在就深入研究代码... 成分部分 我们示例中的部分是成分。 让我们实现一些成分以后再用它来制作蛋糕。 // 1. EXAMPLE: PART TO CUSTOMIZATE INGREDIENTS public interface Ingredient {// INGREDIENTS WILL HAVE...void printName();String getUnitPrice();void printCalories(); }public class LightMilk implements Ingredient {private int deciLiter;private int calories;private String unitPrice;public LightMilk(int deciLiter){this.deciLiterdeciLiter;}public LightMilk(int deciLiter, int calories, String unitPrice) {super();this.deciLiter deciLiter;this.calories calories;this.unitPrice unitPrice;}Override public void printName() {System.out.printf( Light Milk);}Override public String getUnitPrice() {return unitPrice;}Override public void printCalories() {System.out.printf( 76kc);}public int getDeciLiter() {return deciLiter;}public void setDeciLiter(int deciLiter) {this.deciLiter deciLiter;}public int getCalories() {return calories;}public void setCalories(int calories) {this.calories calories;}public void setUnitPrice(String unitPrice) {this.unitPrice unitPrice;} } public class Sugar implements Ingredient {private int gram;private int calories;private String unitPrice;public Sugar(int deciLiter){this.gramdeciLiter;}public Sugar(int gram, int calories, String unitPrice) {super();this.gram gram;this.calories calories;this.unitPrice unitPrice;}Override public void printName() {System.out.printf( Sugar);}Override public String getUnitPrice() {return unitPrice;}Override public void printCalories() {System.out.printf( 40kc);}public int getGram() {return gram;}public void setGram(int gram) {this.gram gram;}public int getCalories() {return calories;}public void setCalories(int calories) {this.calories calories;}public void setUnitPrice(String unitPrice) {this.unitPrice unitPrice;} } public class Choco implements Ingredient {private int gram;private int calories;private String unitPrice;public Choco(int gram, int calories, String unitPrice) {super();this.gram gram;this.calories calories;this.unitPrice unitPrice;}public int getGram() {return gram;}public void setGram(int gram) {this.gram gram;}public int getCalories() {return calories;}public void setCalories(int calories) {this.calories calories;}public void setUnitPrice(String unitPrice) {this.unitPrice unitPrice;}Override public void printName() {System.out.printf( Chocolate);}Override public void printCalories() {System.out.printf( 389kc);}Override public String getUnitPrice() {return unitPrice;} } public class NoSugar implements Ingredient {private int gram;private int calories;private String unitPrice;public NoSugar(int deciLiter){this.gramdeciLiter;}public NoSugar(int gram, int calories, String unitPrice) {super();this.gram gram;this.calories calories;this.unitPrice unitPrice;}Override public void printName() {System.out.printf( No Sugar);}Override public String getUnitPrice() {return unitPrice;}Override public void printCalories() {System.out.printf( 0kc);}public int getGram() {return gram;}public void setGram(int gram) {this.gram gram;}public int getCalories() {return calories;}public void setCalories(int calories) {this.calories calories;}public void setUnitPrice(String unitPrice) {this.unitPrice unitPrice;} } public class Milk implements Ingredient {private int deciLiter;private int calories;private String unitPrice;public Milk(int deciLiter){this.deciLiterdeciLiter;}public Milk(int deciLiter, int calories, String unitPrice) {super();this.deciLiter deciLiter;this.calories calories;this.unitPrice unitPrice;}Override public void printName() {System.out.printf( Milk);}Override public String getUnitPrice() {return unitPrice;}Override public void printCalories() {System.out.printf( 128kc);}public int getDeciLiter() {return deciLiter;}public void setDeciLiter(int deciLiter) {this.deciLiter deciLiter;}public int getCalories() {return calories;}public void setCalories(int calories) {this.calories calories;}public void setUnitPrice(String unitPrice) {this.unitPrice unitPrice;} }建筑商合同 这是我们示例中的食谱。 // 2. THE BUILDER METHOD WILL ADD // INGREDIENTS RETURNING THE BUILDER ITSELF public interface Recipe B {B addIngredient(Ingredient ingredient); } // 3. DEFINE THE BUILDER CONTRUCTION METHOD // WHICH BUILDS AND RETURNS THE FINAL PRODUCT T public interface Builder T extends Recipe Builder T {T build(); } import java.util.ArrayList; import java.util.List; // 4. IMPLEMENT THE BUILDER ACC. TO YOUR NEEDS public class CakeBuilder implements Builder Cake {// IN THIS CASE THE PARTS ARE THE INGREDIENTSprivate List Ingredient ingredientsnew ArrayList Ingredient ( );Overridepublic Cake build() {if(!ingredients.isEmpty()){// THE FINAL PRODUCT IS A CHOCO-MUFFINreturn new Cake(ingredients);}return new Cake(null);}Override// BECAUSE I ALWAYS GET A BUILDER BACK, IM ABLE TO// ADD A LOT OF PARTS BEFORE I CALL BUILD()public Builder Cake addIngredient(Ingredient ingredient) {if(ingredient!null){ingredients.add(ingredient);}return this;} }产品 在我们的示例中要构建的产品是蛋糕。 import java.util.List;public class Cake {public Cake(List Ingredient ingredients){String muffin ;if(ingredientsnull){System.out.println( zero cake muffin);return;}// PRINT OUT MUFFIN INGREDIENTSSystem.out.printf( Cake with: );for (Ingredient ingredient : ingredients) {ingredient.printName();}// PRINT OUT PART PRICESfor (Ingredient ingredient : ingredients) {muffin ingredient.getUnitPrice();//NOPMD}System.out.println( - Price: muffin);}public void printResult(){System.out.println( Cake is ready!);} }测试它 最后客户端测试。 在这里我们可以看到它的用法 // 5. TESTING THE CHOCO-BUILDER public class Client {public static void main(String[] args) {Builder Cake chocoMuffinBuilder new CakeBuilder();chocoMuffinBuilder.addIngredient(new Choco(10, 23, 3.39));chocoMuffinBuilder.addIngredient(new Milk(34, 67, 1.57));chocoMuffinBuilder.addIngredient(new Sugar(34, 67, 2.00));final Cake chocoMuffin chocoMuffinBuilder.build();chocoMuffin.printResult();} } 就这样 希望你喜欢 翻译自: https://www.javacodegeeks.com/2014/08/builder-design-pattern-applied.html设计模式 生成器
http://www.zqtcl.cn/news/839885/

相关文章:

  • 东莞住房和建设局网站dedecms如何做网站
  • 广州商城网站建设地址义马网站开发
  • 全球购物网站排名高端网站定制开发设计制作
  • 软件开发专业课程有哪些seo比较好的优化
  • 重庆网站建设坤思特seo关键词报价查询
  • 重庆装修公司排名前十口碑推荐南京做网站seo
  • 佛山网站优化美姿姿seo网站策划方案 优帮云
  • 阿里巴巴国际站网站做销售方案东莞营销推广
  • 电子商城网站开发流程wordpress 文章发布时间
  • 莆田建网站公司盱眙县住房和城乡建设局网站
  • 2018年的网站制作室内设计网站哪些号
  • 做网站有包括哪些东西抖音seo关键词优化排名
  • 网站建设费无形资产做招聘网站需要什么
  • 长沙企业做网站网页制作教程免费下载
  • 重庆北碚网站建设空包网站分站怎么做
  • 北京神州网站建设湖北响应式网站建设费用
  • 环保网站设计价格建设网站对公司起什么作用
  • 做乒乓球网站的图片大全学网页设计哪个培训学校好
  • 婚礼做的好的婚庆公司网站用手机能创建网站吗
  • 广州网站开发平台.net做的网站代码
  • 地图网站设计建立公司网站视频
  • 哪个网站可以做销售记录仪中国电子商务中心官网
  • 学校网站建设厂家云上铺会员管理系统
  • 手机网站源码大全空间设计公司
  • 公司做哪个网站比较好招聘网站企业招聘怎么做
  • 北仑网站推广用c 做网站
  • 做网站怎么赚钱 注册网站环境配置
  • 阿里企业网站建设重庆移动网站制作
  • 织梦 网站栏目管理 很慢北票市建设工程安全管理站网站
  • 天津网站建设方案托管网站风格对比信息表