java程序设计原则
- 格式:doc
- 大小:26.00 KB
- 文档页数:3
《JAVA程序设计》课程标准课程名称:JAVA程序设计课程编码:60415002总学时数:64学时理论学时34 实践学时30适用专业:物连网应用技术专业,软件技术专业,网络技术专业等一、课程概述(一)课程定位本课程是物连网应用技术专业的一门专业基础课,也是一门必修课,主要针对Java 工程师、测试工程师、Android开发工程师等岗位开设,重点培养Java软件工程师核心工作能力:软件设计能力、编码能力、软件测试能力、沟通能力、学习能力。
培养学生综合运用知识解决问题的能力,培养良好的编码习惯,锻炼团队合作能力,积累实际的项目经验;系统学习Java标准类库,使学生对一门语言的基础类库有一个系统了解,提高学生专业素养。
掌握窗口制作、事件处理、JDBC数据库访问、网络通信等基本技能。
前导课程有课程《C语言程序设计》,后续课程有《智能设备应用开发》(二)课程设计思路由于本课程是一个理论与实践都非常强的课程,我们的教学指导思想是理论与实践相结合,在实践中培养专业素养和技能,培养学生的实际动手能力,自学能力、创新能力和解决问题的能力以及良好的职业习惯。
因此在本门课程的教学计划制定中,理论学时和实践学时的比例设置为1:1。
基于工作过程的课程学习情境设计体现“以职业能力为主线,以岗位需求为依据,以职业生涯为背景,以工作结构为框架,以工作过程为基础,以工作任务为起点”的理念,本课程的主要知识技能有:JAVA基本语法、类和对象、常用类的使用、界面制作、事件处理、JDBC数据库访问、网络技术。
从课程的学习目标出发,结合学生将来要从事的工作岗位需求,进行学习情境的设计,在一个专项的学习情境中,围绕一个企业真实项目,指导学生进行任务分解,帮助学生不断分析问题,解决问题,实施若干个学习任务。
在教学过程中教师的作用是组织者和协调者的角色,主要工作是布置任务,并引导学生去寻找解决任务的方法,必要时提供要必需的知识介绍,在学生实施任务过程中进行过程监控,纠正学生的偏差,在学生完成任务时,组织学生进行自我评价和小组互相评价。
辽源职业技术学院网络技术专业《Java语言程序设计》课程设计计划适用班级:网络103学制:三年入学文化:高中实习周数: 2 周信息工程系·专业教研室说明本设计任务计划书是依据计算机应用专业与网络技术专业高职三年制适用的《Java语言程序设计》课程设计大纲》与相应的专业教学计划中人才培养方案规定制定的。
也适合于其他专业开设了Java语言程序设计课程的班级使用,使用时可根据班级实际情况做适当修改。
一、设计性质、目的和任务1、设计性质本课程设计是学习Java语言程序设计课程以后,进行的程序设计综合实践。
属于对Java语言程序设计课程的提高部分。
2、设计目的实施本设计的其目的在于:通过以小组为单位,集体设计,分工合作的组织形式,对简单Java的程序,实现对Java 语言基本知识的进一步熟练、程序设计思路与分析方法的进一步训练、程序调试技巧的进一步娴熟,从而达到深化理解Java语言基本知识,强化Java语言程序设计的实战能力,及综合运用Java语言的能力。
为继续学习和程序设计、解决实际问题进行程序设计大好基础。
3、设计任务(1)、在熟练运用Java语言基本知识与上机调试技巧的基础上,学习实际应用程序的设计过程与设计方法。
(2)、在规定时间内对所承担的设计题目,进行有效的设计,要求得到一个功能满足设计要求、界面友好、使用方便、设计思想合理、程序简练符合结构化要求的程序。
(3)、在规定时间内提交完整合格的设计报告(设计说明书)。
二、设计内容与要求1、设计主要内容本设计的内容是,设计一个“类实用”小应用程序。
具体题目为:具体设计题目有如下四个:(1)图书管理信息系统;(2)简单的计算器;(3)万年历;(4)学生信息管理系统。
本课程设计需要具体完成主要内容有:(1)调研题目所涉及到的相关工作领域的实际工作流程及工作原则、规范、以及禁止事项与不免事项。
(2)理解题目中的内容及任务要求。
(3)进行需求分析,提出需求。
java 编程规范Java编程规范是为了促进Java代码的可读性、可维护性和可扩展性而制定的标准。
以下是一些常见的Java编程规范:一、命名规范1. 类名、接口名、枚举名首字母大写,采用驼峰命名法。
2. 变量名、方法名首字母小写,采用驼峰命名法。
3. 常量名全部大写,使用下划线分割单词。
4. 包名全部小写,使用点号分割单词。
二、代码格式1. 使用4个空格缩进。
2. 每行代码长度不超过80个字符。
3. 在二元运算符(如赋值、算术运算、逻辑运算)两侧添加空格。
4. 在逗号、冒号、分号之后添加空格。
5. 在左花括号之后和右花括号之前添加空格。
6. 在注释之前添加空格。
三、代码结构1. 类的成员按照作用域排列,先是静态成员,然后是实例成员。
2. 类的方法按照功能排列,先是构造方法,然后是其他方法。
3. 每个类只负责一个功能,遵循单一职责原则。
4. 使用适当的访问修饰符控制成员变量和方法的访问级别。
四、异常处理1. 不要捕获异常而不做任何处理,应该记录日志或者抛出更高级别的异常。
2. 不要将整个方法体放在try-catch块中,应该只捕获需要处理的异常。
3. 不要使用异常控制程序的流程,应该使用条件语句或者循环结构。
五、注释规范1. 使用Javadoc注释对类、方法、参数、返回值进行说明。
2. 在每个类的头部使用Javadoc注释描述该类的功能。
3. 使用内联注释对代码进行解释、补充和说明。
4. 注释应该清楚、简明、不冗余,遵循自然语言的习惯。
六、其他规范1. 避免使用魔法数值,应该使用常量或者枚举来表示。
2. 使用块注释对重要的代码块进行标注,方便阅读和查找。
3. 使用业界公认的缩写和术语,避免拼写错误和歧义。
4. 使用合适的数据结构和算法来解决问题,避免低效的代码。
以上仅是Java编程规范的一部分,具体的规范还需要根据具体的项目和团队来制定。
遵循编程规范可以提高代码质量和可维护性,提升团队的协作效率。
java的设计原则Java是一种广泛使用的编程语言,它的设计原则涉及到很多方面,包括可读性、可维护性、灵活性等。
本文将对Java的设计原则进行详细介绍。
一、SOLID原则SOLID原则是面向对象编程中的五个基本原则,它们分别是单一职责原则(SRP)、开放封闭原则(OCP)、里氏替换原则(LSP)、接口隔离原则(ISP)和依赖倒置原则(DIP)。
这些原则可以帮助我们设计出更加健壮、灵活和可扩展的代码。
1. 单一职责原则单一职责原则指一个类只负责一个功能或者任务。
这样可以提高代码的可读性和可维护性,同时也降低了类之间的耦合度。
2. 开放封闭原则开放封闭原则指软件实体应该对扩展开放,对修改关闭。
这意味着当需求发生变化时,我们不需要修改已有的代码,而是通过扩展来满足新需求。
3. 里氏替换原则里氏替换原则指子类可以替换掉父类并且不会影响程序的正确性。
这意味着在使用继承时,子类需要保持和父类一致的行为和约束。
4. 接口隔离原则接口隔离原则指一个类不应该依赖它不需要的接口。
这样可以避免因为接口改变而导致的代码修改。
5. 依赖倒置原则依赖倒置原则指高层模块不应该依赖低层模块,而是应该依赖其抽象。
这样可以降低模块之间的耦合度,提高代码的可复用性。
二、DRY原则DRY原则指“Don't Repeat Yourself”,即不要重复自己。
这意味着我们应该尽可能地避免重复代码,而是把相同或相似的功能抽象成一个公共部分,以提高代码的可维护性和可扩展性。
三、KISS原则KISS原则指“Keep It Simple, Stupid”,即保持简单。
这意味着我们应该尽量避免过度设计和复杂实现,而是采用简单明了的方式来解决问题,以提高代码的可读性和可维护性。
四、YAGNI原则YAGNI原则指“You Ain't Gonna Need It”,即你不会需要它。
这意味着我们应该尽可能地避免过度设计和实现,在真正需要时再进行扩展和修改,以提高代码的简洁性和可维护性。
java代码规则标准Java代码规则标准可以参考以下内容:- 类命名:- 抽象类:适用的设计模式为模板模式。
抽象是自下往上的设计。
由具体实现推断出抽象方法。
建议以`Abstract`开头。
- 枚举类:枚举是由JVM来保证的单例。
可以用来做单例类。
枚举类常用来做值判断,不建议每次进行循环判断得到实例。
建议由内部维护一个`map`类型,当做`cache`。
此方法建议放在`static`静态代码块中实现。
- 工具类:工具类常为无状态对象,无状态对象都是线程安全对象,建议使用`final`修饰。
工具类中避免出现业务属性,如果出现业务属性,抽象出领域层。
- 异常类:建议保持异常链。
- 接口实现类:众所周知。
- 设计模式相关类:- 处理特定功能的:其主要的目的是代码可重复使用。
- 测试类:- 领域模型载体:- 方法命名:- 布尔判断方法:- 检查的方法:- 按需求才执行的方法:- 异步相关方法:- 回调方法:- 操作对象生命周期的方法:- 与集合操作相关的方法:- 数据增删改查相关的方法:- 成对出现的动词:- 获取必须的参数:- 获取数据并对数据进行某种处理:- 方法编程建议:- 方法复杂度:凡事逻辑判断语句均为复杂度。
当一个方法中出现了大于等于10个复杂度,建议根据方法实现进行业务抽离。
在编写Java代码时,需要遵循一定的规则和标准,以提高代码的可读性、可维护性和可扩展性。
你可以根据项目的具体需求和团队的约定来选择合适的规范。
JA VA OO设计原则1 目的: (1)2 分类 (1)2.1SRP(单一职责) (1)2.2DRY (不要重复代码) (1)2.3OCP (开闭原则) (2)2.4LSP(子类必须能够替换基类) (3)2.5DIP(依赖倒置原则) (3)2.6ISP(接口隔离原则) (4)1目的:设计原则是基本的工具,应用这些规则可使代码更加灵活、更容易维护,更容易扩展2分类2.1SRP(单一职责)The single responsibility principle系统中的每一个对象都应该只有一个单独的职责,而所有对象所关注的就是自身职责的完成。
Every object in your system should have a single responsibility ,and all the object s services should be focused on carrying out that single responsibility .每一个职责都是一个设计的变因,需求变化的时候,需求变化反映为类职责的变化。
当你系统里面的对象都只有一个变化的原因的时候,你就已经很好的遵循了SRP原则。
如果一个类承担的职责过多,就等于把这些职责耦合在了一起。
一个职责的变化就可能削弱或者抑制这个类其它职责的能力。
这种设计会导致脆弱的设计。
当变化发生的时候,设计会遭到意想不到的破坏。
SRP 让这个系统更容易管理维护,因为不是所有的问题都搅在一起。
内聚Cohesion 其实是SRP原则的另外一个名字.你写了高内聚的软件其实就是说你很好的应用了SRP原则。
怎么判断一个职责是不是一个对象的呢?你试着让这个对象自己来完成这个职责,比如:“书自己阅读内容”,阅读的职责显然不是书自己的。
仅当变化发生时,变化的轴线才具有实际的意义,如果没有征兆,那么应用SRP或者任何其它的原则都是不明智的。
2.2DRY (不要重复代码)Don't repeat yourself Principle通过抽取公共部分放置在一个地方避免代码重复.Avoid duplicate code by abstracting out things that are common and placing those thing in a single location .DRY 很简单,但却是确保我们代码容易维护和复用的关键。
java程序设计复习资料Java程序设计复习资料Java是一种广泛应用于软件开发领域的编程语言。
无论是初学者还是有一定经验的开发者,都需要不断复习和提升自己的Java编程能力。
本文将为大家提供一些Java程序设计的复习资料,帮助大家系统地回顾和巩固相关知识。
一、基础知识复习1. Java语言基础:复习Java的语法规则、关键字、数据类型、运算符等基础知识。
可以参考《Java核心技术卷一》等经典教材。
2. 面向对象编程:复习类、对象、继承、封装、多态等面向对象的基本概念和原则。
推荐阅读《Java编程思想》等相关书籍。
3. 异常处理:复习Java中的异常处理机制,包括异常类的继承关系、异常处理的语法和常见的异常类型。
可以参考《Java编程思想》等书籍中的相关章节。
4. 输入输出流:复习Java中的输入输出流操作,包括文件读写、网络通信等。
推荐学习《Java核心技术卷二》中的相关内容。
5. 集合框架:复习Java中的集合框架,包括List、Set、Map等常用集合类的使用方法和特点。
可以参考《Java编程思想》等书籍中的相关章节。
二、常用工具和框架复习1. 开发工具:复习Java开发中常用的集成开发环境(IDE),如Eclipse、IntelliJ IDEA等。
了解其基本使用方法和常见功能。
2. 版本控制工具:复习Git等版本控制工具的使用方法,包括代码提交、分支管理、合并等操作。
推荐学习《Pro Git》等相关资源。
3. 单元测试框架:复习JUnit等常用的单元测试框架,了解其基本使用方法和常见断言方法。
可以参考JUnit官方文档和相关教程。
4. Web开发框架:复习Spring、Spring MVC等常用的Java Web开发框架,了解其基本原理和使用方法。
推荐学习相关官方文档和教程。
5. 数据库操作:复习Java中与数据库交互的相关知识,包括JDBC的使用、SQL语句的编写等。
可以参考《Java核心技术卷一》中的相关章节。
开-闭原则一个软件实体应当对扩展开放,对修改关闭。
其中抽象化是关键。
“开-闭”原则如果从另外一个角度讲述,就是所谓的“对可变性的封装原则”,也就是找到一个系统的可变因素,将之封装起来。
“对可变性的封装原则”意味着两点:(1)一种可变性不应当散落在代码的很多角落里,而应当被封装到一个对象里面。
同一种可变性的不同表象意味着同一个继承等级结构中的具体子类。
继承应当被看做是封装变化的方法,而不应当被认为是从一般的对象生成特殊的对象的方法。
(2)一种可变性不应当与另一种可变性混合在一起。
里氏代换原则一个软件实体如果使用的是一个基类的话,那么一定适用于其子类,而且它根本不能觉察出基类对象和子类对象的区别。
里氏代换原则是继承复用的基石。
只有当子类可以替换掉基类,软件单位的功能不会受到影响时,基类才能真正被复用,而子类也才能够在基类的基础上增加新的行为。
依赖倒转原则实现“开-闭”原则的关键是抽象化,并且从抽象化导出具体化实现。
如果说“开-闭”原则是面向对象设计的目标的话,依赖倒转原则就是这个面向对象设计的主要机制。
依赖倒转原则讲的是:要依赖于抽象,不要依赖于具体。
依赖倒转原则是COM、CORBA、JavaBean以及EJB等构建设计模型背后的基本原则。
在面向对象的系统里,两个类之间可以发生三种不同的依赖(耦合)关系:●零耦合:如果两个类没有耦合关系,就称之为零耦合。
●具体耦合:具体性耦合发生在两个具体的(可实例化的)类之间,经由一个类对另一个类的直接引用造成。
●抽象耦合:发生在一个具体类和一个抽象类(或接口)之间,使两个必须发生关系的类之间存有最大的灵活性。
依赖倒转原则要求客户端依赖于抽象耦合。
依赖倒转原则的表述是:抽象不应该依赖细节;细节应当依赖于抽象。
另一种表述是:要针对接口编程,不要针对实现编程。
针对接口编程的意思就是说,应当使用java接口和抽象java类进行变量的类型声明、参量的类型声明、方法的返回类型声明,以及数据类型的转换等。
JAVA开发设计规范JAVA开发设计规范是指在进行JAVA开发过程中,为了统一编码风格、提高代码可读性和可维护性而制定的一系列约定和规范。
本文将从命名规范、代码布局规范、注释规范、异常处理规范、编码规范等方面介绍JAVA开发设计规范。
1.命名规范变量、方法和类名应使用有意义的英文单词或缩写,遵循驼峰命名法。
-变量名应代表该变量的含义,且不使用无意义的单字母命名。
-方法名应清晰表达方法的功能和作用。
-类名应使用名词或名词短语,首字母大写。
2.代码布局规范-使用缩进方式使代码结构清晰可读。
-使用空行分隔不同的功能块。
-代码行长度应限制在80个字符之内,方便查看和打印。
3.注释规范-对于每个类、方法和成员变量,都应添加必要的注释说明其功能和用法。
-注释应该与代码同步更新,并保持准确性。
-注释应使用简洁明了的语言,不应包含冗余信息。
4.异常处理规范- 在代码中必须使用try-catch块处理可能抛出的受检异常。
- 不应使用catch(Exception e)的方式处理异常,在catch块中应提供相应的处理逻辑。
- 应避免在catch块中直接打印异常信息,而是应使用日志框架打印异常。
5.编码规范-尽量使用局部变量而不是全局变量。
-代码中不应包含硬编码的常量,应使用常量变量或配置文件存储。
-代码中应避免使用魔法数字,而使用有意义的命名常量代替。
-尽量避免使用复杂的表达式和语句,提高代码的可读性。
以上只是JAVA开发设计规范的一部分。
在实际开发过程中,还应根据团队的需求和实际情况进行适当的调整和补充。
良好的编码规范可以提高代码的可读性、可维护性和可扩展性,从而提高开发效率和代码质量。
同时,开发人员应定期进行代码审查和重构,以保证代码的质量和规范的执行。
所有的设计模式都是对不同的可变性的封装,从而使系统在不同角度达到“开闭原则”的要求。
在软件软件系统中,一个模块设计得好不好的最主要、最重要的标志,就是该模块在多大程度上将自己的内部数据和其他与实现有关的细节隐藏起来。
一个设计得好的模块可以将它所有的实现细节隐藏起来,彻底地将提供给外界的API 和自己的实现分隔开来。
这样一来,模块与模块之间就可以仅仅通过彼此的API 相互通信,而不理会模块内部的工作细节。
OO设计根本的指导原则是提高可维护性和可复用性。
这些原则主要有:
1. 开闭原则
一个软件实体应该对扩展开放,对修改关闭。
在设计一个模块的时候,就当使这个模块可以在不被修改的前提下被扩展。
换言之,就当可以在不必修改源代码的情况下改变这个模块的行为。
如何做到既不修改,又可以扩展?
解决问题的关键在于抽象化:在Java语言里,可以给出一个或多个抽象Java 类或Java接口,规定出所有的具体类必须提供的方法特征作为系统设计的抽象层。
这个抽象层预见了所有的可能扩展,因此,在任何扩展情况下都不会改变。
这就使得系统的抽象层不需要修改,从而满足了—对修改关闭。
同时,由于从抽象层导出一个或多个新的具体类可以改变系统的行为,因此系统的设计对扩展是开放的。
开闭原则实际上是对“对可变性的封闭原则“:找到一个系统的可变因素,将之封装起来。
这个原则意昧着两点:
1) 一个可变性不应当散落在代码的很多角落里,而应当被封装到一个对象里面。
同一种可变性的不同表象意昧着同一个继承等级结构中的具体子类。
继承就当被看作是封装变化的方法,而不应当被认为是从一般的对象生成特殊对象的方法。
2) 一种可变性不应当与另一种可变性混合在一起。
(所有类图的继承结构一般不会超过两层,不然就意昧着将两种不同的可变性混合在了一起。
)
开闭原则是总的原则,其它几条是开闭原则的手段和工具。
2. 依赖倒转原则
依赖倒转原则讲的是:要依赖于抽象,不要信赖于实现。
开闭原则是目标,而达到这一目标的手段是依赖倒转原则。
抽象层次包含的是应用系统的商务逻辑和宏观的、对整个系统来说重要的战略性决定,是必然性的体现;而具体层次则含有一些次要的与实现有关的算法和逻辑,以及战术性的决定,带有相当大的偶然性选择。
具体层次的代码是会经常有变动的,不能避免出现错误。
抽象层次含有一个应用系统最重要的宏观商务逻辑,是做战略判断和决定的地方,那么抽象层次就应当是较为稳定的,应当是复用的重点;也应当是维护的
重点。
在很多情况下,一个Java程序需要引用一个对象。
这个时候,如果这个对象有一个抽象类型的话,应当使用这个抽象类型作为变量的静态类型。
这就是针对接口编程的含义。
一般而言,在创建一个对象时,Java语言要求使用new关键词以及这个类本身。
而一旦这个对象已经被创建出来,那么就可以灵活地使用这个对象的抽象类型来引用它。
比如:List employees = new Vector();因此,Java语言中创建一个对象的过程是违背“开闭原则”以及依赖倒转原则的(因为先生成了具体的类型,再使用抽象的引用),虽然在这个类被创建出来以后,可以通过多态性使得客户端依赖于其抽象类型。
正是由于这个问题,设计模式给出了多个创建模式,特别是几个工厂模式,用于解决对象创建过程中的依赖倒转问题。
工厂模式将创建一个类的实例的过程封装起来,消费这个实例的客户端仅仅取得实例化的结果,以及这个实例的抽象类型。
当然,任何方法都无法回避Java 语言所要求的new关键字和直接调用具体类的构造子的做法(这违背了里氏代换原则)。
简单工厂模式将这个违反“开闭原则”和依赖倒转原则的做法封装到了一个类里面,而工厂方法模式将这个违反原则的做法推迟到了具体工厂角色中。
通过适当的封装,工厂模式可以净化大部分的结构,而将违反原则的做法孤立到易于控制的地方。
联合使用Java接口和Java抽象类:声明类型的工作由Java接口承担,但是同时给出的还有一个Java抽象类,为这个接口给出一个缺省实现。
如果一个具体类直接实现这个Java接口的话,它就必须自行实现所有的接口;相反,如果它继承自抽象类的话,它就可以省去一些不必要的方法,因为它可以从抽象类中自动得到这些方法的缺省实现。
这其实就是缺省适配模式。
依赖倒转的缺点:
1) 因为依赖倒转的缘故,对象的创建很可能要使用对象工厂,以避免对具体类的直接引用,此原则的使用还会导致大量的类。
对不熟悉面向对象技术的工程师来说,维护这样的系统需要较好地面向对象的设计知识。
2) 依赖倒转原则假定所有的具体类都是会变化的,这也不总是正确的。
有一些具体类可能相当稳定、不会发生变化,消费这个具体类实例的客户端完全可以依赖这个具体类型,而不必为此发明一个抽象类型。
3. 里氏代换原则
任何基类可以出现的地方,子类一定可以出现。
开闭原则的关键步骤是抽象化。
而基类与子类的继承关系就是抽象化的具体体现,里氏代换原则是对实现抽象化的具体步骤的规范。
4. 合成/聚合复用原则
要尽量使用合成/聚合,而不是继承关系达到复用的目的。
合成/聚合原则要求我们首先考虑合成/聚合关系,里氏代换原则要求在使用继承时,必须确定这个继承关系符合一定的条件(继承是用来封装变化的;任何基类可以出现的地方,子类一定可以出现。
)
合成/聚合原则就是在一个新的对象里面使用一些已有的对象,使之成为新对象的一部分;新的对象通过向这些对象的委派达到得复用已有功能的目的。
5. 迪米特原则
一个软件实体应当尽可能少的其他实体发生相互作用。
模块之间的交互要少。
这样做的结果是当系统的功能需要扩展时,会相对更容易地做到对修改的关闭。
一个对象应当对其他对象有尽可能少的了解。
迪米特原则的具体操作:
1) 优先考虑将一个类设置成不变类。
不变类易于设计、实现和使用。
比如Java API中的String,BigInteger等类。
一个对象与外界的通信大体上分成两种,一种是改变这个对象的状态,另一种是不改变这个对象的状态的。
如果一个对象的内部状态根本就是不可能改变的,那么它与外界的通信当然就大大地减少。
当涉及任何一个类的时候,都首先考虑这个类的状态是否需要改变。
即便一个类必须是可变类,在给它的属性设置赋值方法的时候,也要保持吝啬的态度。
除非真的需要,否则不要为一个属性设置赋值方法。
2) 尽量降低一个类的访问权限。
3) 谨慎使用Serializable,一旦将一个类设置成Serializable,就不能再在新版本中修改这个类的内部结构,包括private的方法和句段。
4) 尽量降低成员的访问权限。
6. 接口隔离原则
应当为客户端提供尽可能小的单独接口,而不要提供大的总接口。
也即是使用多个专门的接口比使用单一的总接口要好。
接口隔离原则与迪米特都是对一个软件实体与其他的软件实体的通信限制。
迪米特原则要求尽可能地限制通信的宽度和深度,接品隔离原则要求通信的宽度尽可能地窄。
这样做的结果使一个软件系统在功能扩展过程当中,不会将修改的压力传递到其他对象。
一个接口相当于剧本中的一种角色,而此角色在一个舞台上由哪一个演员来演则相当于接口的实现。
因此,一个接口应当简单地代表一个角色,而不是多个角色。
如果系统涉及到多个角色的话,那么每一个角色都应当由一个特定的接口代表。
定制服务:如果客户端仅仅需要某一些方法的话,那么就应当向客户端提供这些需要的方法,而不要提供不需要的方法。
(向客户端提供public接口是一种承诺,没有必要做出不必要的承诺,过多的承诺会给系统的维护造成不必要的负担。
)。