1.接口隔离原则
角色隔离:广义的接口是一个类型所提供的所有方法的集合,一个接口相当于一个角色,角色拥有不同的作用,接口的划分,也即角色的划分,不同的接口,提供不同类型的功能
服务定制:狭义的接口,则是Java接口,仅将客户端所需要的行为,定义到接口中,减少模块与模块,服务端与客户端的通信
2.合成/聚合复用原则
在新的对象里面,使用一些已有的对象,使之成为新对象的一部份,新对象通过使用原有对象,达到复用的目地
聚合,表示拥有或整体与部份的关系
合成,则表示的是强得多的拥有关系,部份与整体的生命周期是一样的
使用原则,IS—A的情况下使用继承,Has-A的情况下使用复用
3.迪米特法则
最少知识原则,一个对象应该对其它对象尽可能少的了解
狭义的迪米特法则:如果两个类不必直接通信,两个类之间不应发生直接的调用,如果其中一个类需要调用另一个类的某个方法,则应通过学习第三者进行转发这个调用
一个设计得好的模块,可以将所有的实现细节隐藏起来,把供外部调用的API与具体实现分隔开来,让模块与模块之间,只通过API来进行交互,而不用理会模块内部的工作细节
广义的迪米特法则在设计的体现:
优先考虑将一个类设计为不变类
尽量降低一个类的访问权限
谨慎使用Serializable
昼降低成员的访问权限
分享到:
相关推荐
设计模式是软件工程中的一种重要概念,它代表了在特定情境下解决问题的...设计模式笔记中的内容应该涵盖了以上所述的各种模式,通过深入学习和实践,你可以将这些模式应用到实际项目中,提升自己的编程技能和设计能力。
"韩顺平_Java设计模式笔记" 本资源摘要信息是对《韩顺平_Java设计模式笔记.docx》的总结和分析,该笔记涵盖了 Java 设计模式的基础知识、设计模式的七大原则、原型设计模式、解释器设计模式、单例设计模式等内容,...
这里我们聚焦于C#语言中的设计模式学习笔记,涵盖了多种经典的设计模式,如合成模式、桥梁模式、装饰模式、享元模式、门面模式、命令模式、工厂方法、策略模式、代理模式以及状态模式。下面将对这些模式逐一进行详细...
以上只是设计模式笔记中的一部分内容,实际上每个模式都有其特定的适用场景和优缺点。理解并熟练运用这些模式,可以提高代码的可读性、可维护性和复用性,降低系统复杂度,提升软件设计的质量。在实际项目中,应根据...
2. **工厂模式**:提供一个接口来创建对象,但让子类决定实例化哪个类。它将对象的创建过程封装起来,使代码更灵活,易于扩展。 3. **抽象工厂模式**:为创建一组相关或相互依赖的对象提供一个接口,而无需指定它们...
2. 工厂方法模式(Factory Method): Factory Method模式是一种创建型模式,它定义一个用于创建对象的接口,让子类决定实例化哪一个类。这样,工厂方法就把类的实例化推迟到子类中进行,增强了系统的灵活性和扩展性...
设计模式笔记 设计模式是软件开发中常用的解决方案,能够提高代码的灵活性、可维护性和可扩展性。以下是设计模式的七大原则和两种常用的创建型设计模式。 1. "开-闭"原则 "开-闭"原则是设计模式的核心原则,指...
这份"根据《JAVA与设计模式》整理的笔记及示例代码"涵盖了Java语言和设计模式的核心概念,旨在帮助开发者理解和应用这些模式。 一、设计模式的基本概念 设计模式是对在特定情境下软件设计问题的解决方案的一种描述...
《HeadFirst设计模式学习笔记1--策略模式Demo》 在软件工程中,设计模式是一种解决常见问题的标准方案,它提供了一种在特定情况下组织代码的模板。策略模式是设计模式中的一种行为模式,它允许在运行时选择算法或...
《设计模式学习笔记》主要探讨了GOF的23种设计模式以及类设计的基本原则,旨在帮助开发者理解和应用这些经过时间验证的成熟解决方案。设计模式是面向对象软件设计中的核心概念,它们为解决常见的设计问题提供了标准...
本课程针对上述问题,有针对性的进行了升级 (1) 授课方式采用 图解+框架源码分析的方式,让课程生动有趣好理解 (2) 系统全面的讲解了设计模式,包括 设计模式七大原则、UML类图-类的六大关系、23种设计模式及其分类,...
2. **工厂模式**:提供一个接口来创建一系列相关或相互依赖的对象,而无需指定它们的具体类。这提高了代码的灵活性和可扩展性。 3. **抽象工厂模式**:它是工厂模式的升级版,不仅创建对象,还创建对象的家族,保证...
1. "模式笔记.pdf":这很可能是对整个模式识别课程的全面笔记,涵盖了基本理论、主要算法和实例分析,可能是教授或教材作者的总结,也可能来自于学生的学习整理。 2. "作业_chapter4_解答(1).pdf":这部分内容可能...
### Java设计模式学习笔记——外观模式(Facade Pattern) #### 概述 设计模式是软件工程领域中一种解决常见问题的可复用解决方案。在Java开发过程中,掌握设计模式能够帮助开发者更好地组织代码结构,提高代码的...
Java设计模式是软件开发中的一种最佳实践,它们是为了解决特定场景下的设计问题而发展起来的。23种设计模式被广泛应用于提高代码的可重用性、可读性、可维护性和灵活性。韩顺平老师的Java设计模式课程通过生活中的...
2)当操作包含大量基于对象状态的条件分支时,状态机模式可以简化代码结构,减少条件判断,提高可读性和可维护性。 总结来说,设计模式是软件设计的宝贵工具,它们提供了解决复杂问题的标准模板。状态机模式尤其...
在开始介绍RL78 SNOOZE模式应用笔记所涉及的知识点前,需要明确SNOOZE模式是RL78系列微控制器中的一种低功耗状态。该模式能够在特定条件下,通过程序控制,实现微控制器的电源消耗最小化。然而,此应用笔记明确指出...
这个压缩包文件包含了23种设计模式的学习笔记和源码,旨在帮助开发者深入理解并熟练运用这些模式。以下是对每种设计模式的详细解释,以及它们在Java编程中的应用。 1. **单例模式**:确保一个类只有一个实例,并...