
JavaOOP
iteye_5361
这个作者很懒,什么都没留下…
展开
-
面向对象的设计原则_ 接口隔离原则
动机当我们设计应用程序的时候,如果一个模块包含多个子模块,那么我们应该小心对该模块做出抽象。设想该模块由一个类实现,我们可以把系统抽象成一个接口。但是当我们想要添加一个新的模块扩展程序时,如果要添加的模块只包含原系统中的一些子模块,那么就会强迫我们实现接口中的所有方法,并且还要编写一些哑方法。这样的接口被称为胖接口或者叫被污染的接口,使用这样的接口将会给系统引入一些不正确的行为。 ...原创 2011-07-08 09:41:46 · 83 阅读 · 0 评论 -
面向对象的设计原则_里氏代换原则
动机当我们设计程序模块时,我们会创建一些类层次结构,然后我们通过扩展一些类来创建它们的子类。我们必须确保子类只是扩展而没有替换父类的功能,否则当我们在已有程序模块中使用它们时将会产生不可预料的结果。 里氏代换原则表明当一个程序模块使用基类时,基类的引用可以被子类替换而不影响模块的功能。 里氏代换原则基类完全能够被子类替代而不影响模块的功能。 实例 对...原创 2011-07-08 09:45:37 · 157 阅读 · 0 评论 -
面向对象的设计原则_单一职责原则
动机在本文中职责是指引起变化的原因。该原则表明,如果你有多个原因去改变一个类,那么应该把这些引起变化的原因分离开,把这个类分成多个类,每个类只负责处理一种改变。当你做出某种改变时,只需要修改负责处理该改变的类。当我们去改变一个具有多个职责的类时可能会影响该类的其他功能。 单一职责原则一个类应该只受一种变化的影响。 单一职责原则简单而直观,但是在实际实现中可能是很困难的。...原创 2011-07-08 09:48:48 · 86 阅读 · 0 评论 -
面向对象的设计原则_开闭原则
动机一个设计良好的应用程序应该充分考虑到开发和维护阶段需求的频繁变化,通常情况下,添加一个新的功能需要做出很多修改,我们应该使对已有代码的修改最小化,因为他们已经经过了测试。对现有代码做出修改将会以一种不可预料的方式影响它们的已有功能。 开放-关闭原则 (以下简称开闭原则)开-闭原则: 一个软件实体应该对扩展开发,对修改关闭。 开闭原则是说我们应该努力设计不需要修...原创 2011-07-08 09:49:40 · 186 阅读 · 0 评论 -
面向对象的设计原则_依赖倒转原则
动机在一个应用程序中,我们有一些实现了基础的、主要的操作的底层类和一些封装了复杂逻辑的上层类。实现这种结构的很自然地方式就是,先编写底层类,完成后再编写复杂的上层类。因为上层类是由其他东西定义的,所以这看起来是一种很合理的方式。但是这不是一个灵活的设计,如果我们需要替换一个底层类时会发生什么? 让我们以经典的拷贝程序为例,它从键盘读取一些字符,然后把他们输出到打印设备上。包含该逻辑...原创 2011-07-08 09:50:39 · 103 阅读 · 0 评论 -
面向对象的设计原则_组合优先于继承
组合通过创建一个由其他对象组合的对象来获得新功能的重用方法 新功能的获得是通过调用组合对象的功能实现的 有时又叫聚合 例如: 一个对象拥有或者对另外一个对象负责并且两个对象有相同的生命周期。(GOF) 一个对象包含另一个对象集合 被包含对象对其他对象是不可见的并且只能从包含它的对象中访问的特殊组合形式 组合的优缺点优点 被包含对象通过包含他...原创 2011-07-08 09:51:42 · 192 阅读 · 0 评论 -
面向对象的设计原则_针对接口编程
接口接口是一个对象中可以被另一个对象调用的一组方法 一个对象可以有多个接口 类型是一个对象的特殊接口 不同的对象可以有相同的类型,一个对象可以有多种不同的类型 一个对象只有通过它的接口才能被其他对象知晓 接口是可插拔的关键 实现继承和接口继承实现继承(类继承)------ 一个对象的实现定义在另一个对象的实现的基础上 接口继承 ------ 描述了一个...原创 2011-07-08 09:52:42 · 154 阅读 · 0 评论