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

金华建设二建哪个网站报名做绿化生意有什么网站

金华建设二建哪个网站报名,做绿化生意有什么网站,嘉兴 网站制作,长沙建站找有为太极就治就模板方法模式 场景#xff1a;需使用代码方式实现#xff0c;考完试后#xff0c;将各个学生的试卷及答案誊抄一份。 假如有两个学生的试卷誊抄完毕. // 学生A public class TestPaperA {// 试题1public void testQuestion1() {System.out.println(问题一:XXXXXXXX…模板方法模式 场景需使用代码方式实现考完试后将各个学生的试卷及答案誊抄一份。 假如有两个学生的试卷誊抄完毕. // 学生A public class TestPaperA {// 试题1public void testQuestion1() {System.out.println(问题一:XXXXXXXX[] A.xx B.xx C.xx D.xx );System.out.println(答案 A);}// 试题2public void testQuestion2() {System.out.println(问题二:XXXXXXXX[] A.xx B.xx C.xx D.xx );System.out.println(答案 A);}// 试题3public void testQuestion3() {System.out.println(问题三:XXXXXXXX[] A.xx B.xx C.xx D.xx );System.out.println(答案 A);} }// 学生B public class TestPaperB {// 试题1public void testQuestion1() {System.out.println(问题一:XXXXXXXX[] A.xx B.xx C.xx D.xx );System.out.println(答案 B);}// 试题2public void testQuestion2() {System.out.println(问题二:XXXXXXXX[] A.xx B.xx C.xx D.xx );System.out.println(答案 B);}// 试题3public void testQuestion3() {System.out.println(问题三:XXXXXXXX[] A.xx B.xx C.xx D.xx );System.out.println(答案 B);} }客户端 System.out.println(学生A的试卷); TestPaperA a new TestPaperA(); a.testQuestion1(); a.testQuestion2(); a.testQuestion3();System.out.println(学生B的试卷); TestPaperB b new TestPaperB(); b.testQuestion1(); b.testQuestion2(); b.testQuestion3();一眼看出很多重复的代码直接进行提炼抽离。此例中试卷都是一样的而答案是不同的我们直接将重复的代码提炼然后学生去继承它即可。 试卷类 // 试卷类 public abstract class TestPaper { // 3道题的答案protected abstract String answer1();protected abstract String answer2();protected abstract String answer3();// 试题1public void testQuestion1() {System.out.println(问题一:XXXXXXXX[] A.xx B.xx C.xx D.xx );System.out.println(答案 answer1());}// 试题2public void testQuestion2() {System.out.println(问题二:XXXXXXXX[] A.xx B.xx C.xx D.xx );System.out.println(答案 answer2());}// 试题3public void testQuestion3() {System.out.println(问题三:XXXXXXXX[] A.xx B.xx C.xx D.xx );System.out.println(答案 answer3());} }学生类只需要继承它然后填写自己的答案即可。因为父类已经建立好了所有重复的模板 // 学生A public class TestPaperA extends TestPaper{Overrideprotected String answer1() {return A;}Overrideprotected String answer2() {return A;}Overrideprotected String answer3() {return A;} }客户端 System.out.println(学生A的试卷); TestPaper a new TestPaperA(); a.testQuestion1(); a.testQuestion2(); a.testQuestion3();那么上述的例子中用的一种设计模式就是模板方法模式。定义一个操作中的算法的骨架而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重新定义该算法的某些特定步骤。 结构图及代码示例如下 public abstract class AbstractClass {// 模板方法(所有重复的代码都放入这里)public void templateMethod() {...}// 子类的特定实现public abstract void primitiveOperation1();public abstract void primitiveOperation2();}子类 public class ConcreteClassA extends AbstractClass {Overridepublic void primitiveOperation1() {System.out.println(A类具体实现一);}Overridepublic void primitiveOperation2() {System.out.println(A类具体实现二);} }模板方法是通过把不变行为搬到父类(超类)去除子类中重复代码来体现它的优势。 模板方法是提供了一个代码复用平台。 当不变的和可变行为在方法的实现中混合在一起的时候不变行为就会在类中重复出现。我们通过模板方法将这些行为搬移到单一的地方这样帮助子类摆脱重复的不变行为的纠缠。 外观模式 以一个股票买卖的例子来理解一下现在有股票、国债、房产买入卖出代码如下 股票 // 股票1 public class Stock1 {public void buy() {System.out.println(股票1买入);}public void sell() {System.out.println(股票1卖出);} } // 股票2 class Stock2 {public void buy() {System.out.println(股票2买入);}public void sell() {System.out.println(股票2卖出);} }国债、房产 // 国债1 public class NationalDebt1 {public void buy() {System.out.println(国债买入);}public void sell() {System.out.println(国债卖出);} }// 房产 class Realty1 {public void buy() {System.out.println(房产买入);}public void sell() {System.out.println(房产卖出);} }客户端 Stock1 stock1 new Stock1(); Stock2 stock2 new Stock2(); NationalDebt1 nd1 new NationalDebt1(); Realty1 rt1 new Realty1();// 买入 stock1.buy(); stock2.buy(); nd1.buy(); rt1.buy();// 卖出 stock1.sell(); stock2.sell(); nd1.sell(); rt1.sell();外观模式 增加一个基金类结构图 基金类代码 public class Fund {Stock1 stock1;Stock2 stock2;NationalDebt1 nd1;Realty1 rt1;public Fund() {stock1 new Stock1();stock2 new Stock2();nd1 new NationalDebt1();rt1 new Realty1();}public void buyFund() {stock1.buy();stock2.buy();nd1.buy();rt1.buy();}public void sellFund() {stock1.sell();stock2.sell();nd1.sell();rt1.sell();}}客户端 Fund fund new Fund(); fund.buyFund();fund.sellFund();外观模式为子系统中的一组接口提供一个一致的界面此模式定义了一个高层接口这个接口使得这一子系统更加容易使用。 首先在设计阶段应该有意识将不同的两个层进行分离。其次在开发阶段子系统往往因为不断的重构演化而变得越来越复杂增加外观模式可以提供一个简单的接口减少它们之间的依赖。 还可以在新系统中使用外观模式创建一个Facade类(外观模式类)来提供设计粗糙或高复杂度的遗留代码的比较清晰简单的接口让新系统与Facade对象交互Facade与遗留代码交互完成复杂的工作。
http://www.zqtcl.cn/news/482347/

相关文章:

  • 网站建设与制作教学计划重庆本地建站
  • 动漫做视频在线观看网站宝安做小程序有推荐吗
  • 落伍者论坛 做网站成都关键词自然排名
  • 太原这边有做网站的吗wordpress下载类主题
  • 个人网站制作 教程兰州网站分类导航
  • 官方静态网站模板下载小说盗版网站怎么做
  • php网站开发就业wordpress 调整配置文件
  • 来年做那些网站致富全球华设计大赛
  • 福建省城乡建设厅网站网页无法打开怎么办
  • 海口仿站定制模板建站成都网站空间创新互联
  • 网站上传源码织梦企业 网站源码
  • 台州建设网站公司php网站好吗
  • 制作网站需要哪些成本软件开发模型的理解
  • 室内设计网站排行榜前十名有哪些湖南建筑网
  • 荥阳做网站wordpress会员关注
  • 公司网站建设包含的内容wordpress淘宝客知乎
  • 用dw建立网站wordpress文章到期自动下沉
  • 网站右侧 回到顶部传媒公司排名前十
  • 如何制作网站最简单的方法python做的网站多吗
  • 公司网站系统建设策划书游戏代理是什么
  • 网站建设的基本需求有哪些方面怎样免费做网站视频讲解
  • 唐山网站建设托管北京今朝装饰设计有限公司
  • 网站标题关键词长度商务网站建设需要备案吗
  • 微信做淘宝客 网站打不开怎样清除单位域名 网站或互联网网址
  • 晋中工商局网站开发区分局美图秀秀网页版入口
  • 工信部网站实名认证怎么做常州到丹阳
  • 企业品牌网站建设我们的优势招商团队外包
  • 有实力的网站建设公司wordpress做视频站
  • html免费网站模板下载有什么网站学做标书的
  • 哪里做网站seo深圳专业做网站专业