- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Spring入门与IOC
* * * * * * * * * * 好莱坞原则(Hollywood Principle:不要调用我,让我来调用你)。 耦合的坏处:如果改变程序的一个模块要求另一个模块同时发生变化,就认为这两个模块发生了耦合。 目的:组件的构建和使用分开。 DI = Dependency Injection。 * * * * * * * * * * 用OOP思想构建一个打印 如何开发一个打印机? 打印机功能的实现依赖于 墨盒 和 纸张。 步骤: 1、定义墨盒和纸张的接口标准。 2、使用接口标准开发打印机。 3、组装打印机。 4、运行打印机。 A4 B5 彩色墨盒 双色墨盒 开发相应的组件 定义组件接口 墨盒接口:Ink 纸张接口:Page 使用接口开发打印机 public interface Ink { public String getColor(); } public interface Paper { public static final String newline = \r\n; /** * 输出字符到纸张 */ public void putInChar(char c); /** * 得到输出到纸张上的内容 */ public String getContent(); } public class Printer { public Ink ink = null; public Paper paper = null; public void print(String str){ System.out.println(使用+ ink.getColor().+颜色打印); for(int i=0;istr.length();++i){// 逐字符输出到纸张 paper.putInChar(str.charAt(i)); } System.out.print(paper.getContent()); // 将纸张的内容输出 } } 我们在开发打印机时,使用了Ink和Paper接口。但并不关心其实现。 ink和paper何时被实例化呢? 开发相应的组件 1、为了方便组装,我们给Printer类的ink和paper属性增加setter方法 2、创建或得到Ink和Paper的实现类 public class Printer { public Ink ink = null; public Paper paper = null; ... ... public void setInk(Ink ink) { this.ink = ink; } public void setPaper(Paper paper) { this.paper = paper; } } 实际组装打印机过程 A4 B5 双色墨盒 彩色墨盒 程序中如何组装打印机 public static void main(String[] args) { //定义墨盒 Ink ink1=new ColorInk(); //定义纸张 TextPaper paper=new TextPaper(); paper.setCharPerLine(10); paper.setLinePerPage(5); //定义打印机 Printer printer=new Printer(); //组装打印机 printer.setInk(ink1); printer.setPaper(paper); //进行打印 String str = “……; printer.print(str); } 构造墨盒 构造纸张 构造打印机 组装打印机 打印文章 演示示例 现实中如何生产打印机 建立打印机工厂 A型 B型 C型 工厂生产打印机过程特点 客户不并想知道打印机是如何制造的,它只关心怎么样使用打印机。 生产出的打印机是Printer类。 Printer类的print方法。 打印机的生产的过程是复杂的,由专业化的工厂生产,可以避免出现不合格的产品 程序中工厂生产打印机 /** * 获得彩色打印机 * @return */ public static Printer createColorPrinter(){ Ink ink1=new ColorInk(); TextPaper paper=new TextPaper(); paper.setCharPerLine(10); paper.setLinePerPage(5); Printer printer=new Printer(); printer.setInk(ink1); printer.setPaper(paper); ret
您可能关注的文档
最近下载
- 11J935幼儿园建筑构造与设施(高清OCR无水印完整版)(10.7MB).pdf VIP
- 《静脉治疗质量管理指南》.pdf VIP
- 上海凯泉选型样本-LDTN、KNL型筒袋式凝结水泵.pdf
- 2025年DeepSeek完全实用手册.pdf VIP
- 鳄鱼手记 邱妙津.ppt
- 实验班提优训练四年级数学上苏教版--5、简单的平均数.pptx VIP
- 人人商城恶意诉讼应诉指南-含胜诉答辩状和证据清单.pdf VIP
- 中职英语高教版(2023修订版)基础模块1《Unit 5》单元教学课件.pptx VIP
- XX县农村房地一体不动产确权登记监理工作总结.docx VIP
- 西门子SIMOTION D410 D425 D435 D445-1运动控制器.pdf VIP
原创力文档


文档评论(0)