`

学习接口设计原则☞接口隔离原则

    博客分类:
  • java
 
阅读更多
package com.mode;
/*
 接口中的方法尽量少。也就是说,我们要为各个类建立专用的接口,
 而不要试图去建立一个很庞大的接口供所有依赖它的类去调用。
 本例子中,将一个庞大的接口变更为3个专用的接口所采用的就是接口隔离原则。
 
 采用接口隔离原则对接口进行约束时,要注意以下几点:
 	1.接口尽量小,但是要有限度。
 	2.为依赖接口的类定制服务,只暴露给调用的类它需要的方法,
 	  它不需要的方法则隐藏起来。只有专注地为一个模块提供定制服务,
 	  才能建立最小的依赖关系。
 	3.提高内聚,减少对外交互。使接口用最少的方法去完成最多的事情。
 */
interface I1 {
	public void method1();
}
interface I2 {
	public void method2();
	public void method3();
}
interface I3 {
	public void method4();
	public void method5();
}
class A {
	public void depend1(I1 i) {
		i.method1();
	}
	public void depend2(I2 i) {
		i.method2();
	}
	public void depend3(I2 i) {
		i.method3();
	}
}
class B implements I1, I2 {
	public void method1() {
		System.out.println("类B实现接口I1的方法1");
	}
	public void method2() {
		System.out.println("类B实现接口I2的方法2");
	}
	public void method3() {
		System.out.println("类B实现接口I2的方法3");
	}
}
class C {
	public void depend1(I1 i) {
		i.method1();
	}
	public void depend2(I3 i) {
		i.method4();
	}
	public void depend3(I3 i) {
		i.method5();
	}
}

class D implements I1, I3 {
	public void method1() {
		System.out.println("类D实现接口I1的方法1");
	}
	public void method4() {
		System.out.println("类D实现接口I3的方法4");
	}
	public void method5() {
		System.out.println("类D实现接口I3的方法5");
	}
}
public class Client {
	public static void main(String[] args) {
		A a = new A();
		a.depend1(new B());
		a.depend2(new B());
		a.depend3(new B());

		C c = new C();
		c.depend1(new D());
		c.depend2(new D());
		c.depend3(new D());
	}
}

原文: http://blog.csdn.net/zhengzhb/article/details/7296921

分享到:
评论
1 楼 sblig 2012-02-27  
/**
 * 23种设计模式
 * 1.单例模式 2.工厂方法模式 3.抽象工厂模式 4.模版方法模式 5.建造者模式 6.代理模式 7.原型模式 8.中介者模式 
 * 9.命令模式 10.责任链模式 11.装饰模式 12.策略模式 13.适配器模式 14.迭代器模式 15.组合模式 16.观察者模式 
 * 17.门面模式 18.备忘录模式 19.访问者模式 20.状态模式 21.解释器模式 22.享元模式 23.桥梁模式
 */

/**
 * 面向对象的思想进行软件设计时,需要遵循的原则一共有6个
 * 
 * 1.  单一职责原则(Single Responsibility Principle)
 * 2.  里氏替换原则(Liskov Substitution Principle)
 * 3.  依赖倒置原则(Dependence Inversion Principle)
 * 4.  接口隔离原则(Interface Segregation Principle)
 * 5.  迪米特法则(Law Of Demeter)
 * 6.  开闭原则(Open Close Principle)
 */

相关推荐

    接口隔离原则 接口隔离原则

    - 定期审查接口,确保它们仍符合 ISP 原则,随着项目的发展,可能需要重新调整接口设计。 接口隔离原则是软件设计中的一种良好实践,它有助于提高代码质量,降低维护成本,增强系统的可扩展性和可维护性。理解和...

    c++接口隔离原则1

    接口隔离原则(Interface Segregation Principle,ISP)是C++中的一个重要设计原则,它旨在降低类之间的耦合性,提高系统的灵活性和可维护性。本文将详细介绍接口隔离原则的定义、优点、实现方法和应用实例。 定义 ...

    接口隔离原则ISP.zip

    接口隔离原则(Interface Segregation Principle,简称ISP)是软件设计中的一个重要原则,它在面向对象的设计模式中占有核心地位。这个原则由罗伯特·C·马丁(Robert C. Martin)在其著作《Clean Architecture》中...

    简单理解遵循接口隔离原则的Java设计模式编程

    接口隔离原则(Interface Segregation Principle, ISP)是面向对象设计的SOLID原则之一,它强调了接口设计的灵活性和针对性。ISP指出,一个类不应该被迫依赖它不需要的接口,即类之间的依赖关系应当建立在最小化的...

    接口设计原则和方法.docx

    ### 接口设计原则和方法 #### 设计原则 1. **充分理由**:创建新的接口之前,必须确保其存在有充分的理由。这意味着接口的设计应当基于明确的需求而非随意为之。无意义的接口不仅增加系统的复杂性和维护成本,还...

    PHP面向对象五大原则之接口隔离原则(ISP)详解

    面向对象编程中,接口隔离原则(ISP)是五大设计原则之一,它建议不应该强迫客户端依赖于它们不用的接口。在PHP中实现ISP,可以避免不必要的依赖,提高代码的可维护性和灵活性。下面详细说明接口隔离原则的概念、...

    15丨软件设计的接口隔离原则:如何对类的调用者隐藏类的公有方法?.pdf

    接口隔离原则是面向对象设计中的一个重要原则,它强调的是设计接口时应尽可能保持接口的专注性,避免让接口承担过多职责,从而减少不必要的耦合。这一原则的核心思想是:一个类不应该被迫依赖于它不需要的方法,即...

    接口设计模式示例

    本示例主要探讨接口设计的重要性、原则以及如何在实际项目中应用。 首先,接口是面向对象编程中的一个关键概念,它定义了一组方法的集合,但不提供具体实现。这样做的好处在于实现了抽象,让类与类之间的耦合度降低...

    Dubbo服务接口的设计原则.pptx

    Dubbo服务接口设计原则 Dubbo服务接口的设计原则是基于Dubbo的分布式系统架构的关键组件,旨在提供高效、可靠、灵活的服务接口设计指南。Dubbo服务接口的设计原则可以分为三个方面:设计方式、接口类型和设计原则。...

    接口设计技巧及原理说明

    以下将详细介绍接口设计的一些核心概念、原则和实用技巧。 首先,我们需要明确接口的基本概念。接口在编程中是一个规范,定义了一组可供其他对象或组件调用的方法或功能。它充当了不同模块间通信的桥梁,使得系统各...

    API接口设计规范.docx

    1. API 接口设计原则:明确 API 接口的设计原则,包括RESTful API 设计原则、参数设计原则、错误处理原则等。 2. 数据格式规范:规定 API 接口中使用的数据格式,包括 JSON 格式、日期格式、金额格式、时间格式等。...

    接口概要设计说.doc

    在IT行业中,接口设计是软件开发过程中的关键环节,它涉及到不同系统、模块或服务之间的交互方式。"接口概要设计说"文档通常用于详细阐述这些接口的基本结构、功能和通信协议,为后续的详细设计和实现提供指导。以下...

    接口与设计原则.doc

    接口与设计原则

    比较好的接口设计说明书模板

    "接口设计说明书模板详解" 在软件开发过程中,接口设计是非常重要的一步骤,它对整个项目的成功至关重要。一个良好的接口设计可以提高系统的可维护性、可扩展性和可重用性,而一个不良的接口设计则可能会导致项目的...

    设计可扩展的接口原则

    实现拥抱变化的方式很多,设计大师们为我们总结出23种设计模式,但是在项目实践中有效地使用设计模式是个难题,因此大部分业务设计很难采用它们来实现,我们在项目中尽量采用这六大设计原则,经常使用这些原则来检验...

    六大设计原则,一些小例子(通俗易懂)

    接口隔离原则建议我们避免让客户端依赖它们不使用的接口方法。如果一个接口太大,包含了许多不相关的功能,我们应该将其拆分为多个更小、更具体的接口。比如,一个大而全的订单接口可以拆分成支付接口、发货接口和...

    软件系统平台对接接口方案

    本文将深入探讨系统接口设计的各个方面,包括接口设计原则、接口定义与分类、接口设计模式以及接口实现方式。 首先,接口设计原则是指导接口设计的核心准则。高内聚、低耦合是设计中的金科玉律,旨在减少系统间的...

    你知道软件设计的6大原则吗?S.O.L.I.D.设计原则

    **趣图解析**:接口隔离原则的图解可能会展示多个小接口代替一个大接口的情形,每个客户端只需实现它所关心的接口。 ##### 5. 依赖倒置原则(Dependency Inversion Principle, DIP) **定义**:依赖倒置原则主张...

    面向对象设计原则.ppt

    4. **接口隔离原则(ISP)**:客户端不应该被迫依赖它不使用的方法。如果一个接口包含客户端不需要的方法,应该拆分为多个更小的接口。这有助于减少类之间的耦合。 5. **依赖倒置原则(DIP)**:高层次模块不应该...

    软件体系结构七大设计原则

    软件体系结构七大设计原则是构建高质量软件系统的基础,它们分别是:单一职责原则、开闭原则、里氏代换原则、依赖倒转原则、接口隔离原则、迪米特法则和合成聚合原则。这些原则旨在提高软件的可维护性、可扩展性和可...

Global site tag (gtag.js) - Google Analytics