- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
大刀长矛-抢到洋枪-不会用=用枪拼刺刀 迪米特法则 广义的迪米特法则在类的设计上的体现 取代C语言中的struct结构体,好的JAVA设计 public class student { private String name; //姓名 private int age; //年龄 private String sex; //性别 public String getName(){…} public int getAge(){…} public Sting getSex(){…} public setName(){String nameInput} public setAge(){int ageInput} public setSex(){String sexInput} } 迪米特法则 广义的迪米特法则在代码层次上的实现 C语言要求所有的局域变量都在一个程序块的开头声明,Java允许一个变量在任何地方声明。 C语言for循环 Int i=0 for(i=0; i5; i++) {…} Java的for循环 for(int i=0; i5; i++) {…} 迪米特法则 广义的迪米特法则在代码层次上的实现 在任何地方都可以声明变量,具有深远的意义: 程序更易理解,更易维护 如果变量都在开头声明,在后面看到变量,需要回头去确认,不易理解;如果涉及变量的语句被删除,相应的变量往往会被遗漏; 限定有效范围 如果一个变量是在程序块外部被声明,这该程序块被执行前,该变量就已经被分配了内存;而当该程序块执行完毕后,这个变量所占据的内存空间还不能被释放,这显然不合理。 面向对象的设计原则 可维护性; 可复用性; 开闭原则 接口 抽象类 里氏代换原则 依赖倒转原则 接口隔离原则 合成聚合复用原则 迪米特法则 创建模式 创建模式 创建模式 是对类的实例化过程的抽象化。一些系统在创建对象时,需要动态地决定怎样创建对象,创建哪些对象,以及如何组合和表示这些对象。创建模式描述了怎样构造和封装这些动态的决定。 创建模式分为:类的创建模式和对象的创建模式两种。 类的创建模式:类的创建模式使用继承关系,把类的创建延迟到子类,从而封装了客户端将得到哪些具体类的信息,并且隐藏了这些类的实例是如何被创建和放在一起的。 对象的创建模式:对象的创建模式把对象的创建过程动态的委派给另一个对象,从而动态地决定客户端将得到哪些具体类的实例,以及这些类的实例是如何被创建和组合在一起的。 工厂模式的几种形态 工厂模式专门负责将大量有公共接口的类实例化。工厂模式可以动态的决定将哪一个类实例化,不必事先知道每次要实例化哪一个类。 工厂模式的形态: 简单工厂模式(Simple Factory) 是类的创建模式,又叫做静态工厂方法(Static Factory Method)模式。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。 工厂方法模式(Factory Method) 又称多态性工厂模式或虚拟构造子模式 抽象工厂模式(Abstract Factory) 又称工具箱(Kit或Toolkit)模式 面向对象的设计原则 可维护性; 可复用性; 开闭原则 接口 抽象类 里氏代换原则 依赖倒转原则 接口隔离原则 合成聚合复用原则 迪米特法则 创建模式 简单工厂模式 简单工厂模式 某农场,种植、销售各类水果 葡萄、草莓、苹果 水果与小麦、棉花等其他农产品有较大不同,可以采摘食用。 自然的做法,建议水果接口,使水果与其他农产品区分开。 简单工厂模式 水果接口 public interface Fruit{ viod grow(); void harvest(); void plant(); } public class Apple implements Fruit{ ...} public class Grape implements Fruit{ ...} 简单工厂模式 工厂类 public class FruitGardener{ public static Fruit factory(String whichFruit) throws BadFruitException { if (whichFruit.equalsIgnoreCase(apple)) return new Apple(); else if(whichFruit.equalsIgnoreCase(strawberry)) return new Strawberry(); else if(whichFruit.equalsIgnoreCase(grape)) return new Grape(); else throw new BadFruitExce
您可能关注的文档
最近下载
- 2025年辽宁省初中学业水平考试英语模拟试卷试题(含答案).pdf VIP
- 螺纹联接与螺旋传动介绍.ppt VIP
- 《大学美育》教案 第13课 光影流转的传奇 影视之美(二).docx VIP
- 小学生3500个常用汉字归类(带拼音).pdf VIP
- 《大学美育》教案 第12课 光影流转的传奇 影视之美(一).docx VIP
- 《大学美育》教案 第11课 五彩缤纷的世界:绘画之美(二).docx VIP
- Dahua大华以太网交换机(桌面式管理型)_WEB使用说明书_V1.0.0.pdf
- 党校中级考试资料.docx VIP
- (2025秋新版)人教版三年级数学上册全册教案.docx
- 智能体@AEI:Agentic Al,开启企业融合智简运维新范式.pdf
文档评论(0)