需要一个类提供某些功能,这些功能可能有不同的实现方式,可以把它设计为接口。
1.首先明确接口职责范围,职责需要高内聚的,即相关性的职责,无关的职责不应该加进来。
2.按照分析好的职责范围定义接口
3.建立类,简单的对接口实现:类中建立需要的方法,每个方法功能单一、简洁,方法内用伪代码简单写一下,因为可能会重构
4. 将多个实现类的共用方法抽取而形成一个抽像类。
5.a.标注实现类扩展抽像类并实现接口
或者
b.如果抽像类能够实现接口的大部分功能,则标注抽像类实现接口,实现类扩展抽像类。
7.重构:在代码实现中可能对功能有进一步深入的理解,可能需要调整类的结构或依赖或接口。
8.核查是否有过多的依赖,是否实现类职责多于接口的职责等等
9.接口实现类的方法的伪代码改为实际的代码
10.接口测试
接口的使用方式:
1.静态的使用接口:
类A只是使用该接口的一种实现方式。表现为接口是类A的成员变量。
依赖注入 可以使用spring等。
2.动态的使用接口:
由于类A处理的数据结构不同,而需要使用不同的接口实现类。
a方式:每一个枚举实例对应一个接口实现,建立静态工厂类根据枚举实例获取接口,前提接口实现数是相对固定,并枚举类型为类A所知。
b.方式:
相关推荐
软件开发文档模板GF-接口设计说明(GJB-438B-2009)知识点总结 通过分析提供的文档模板,我们可以总结出以下知识点: 一、文档标识和版本号 * 文档标识是指文档的唯一标识符,用于标识文档的身份和版本号。 * ...
接口-应用示例(设计模式) 7.内部类-简介 8.内部类-作用 9.内部类-特殊语法规则 10.内部类-安全性 11.内部类-局部内部类 12.内部类-匿名内部类 13.内部类-静态内部类 14.综述
在C#编程语言中,继承和接口设计是面向对象编程的重要概念,它们允许代码复用和灵活的结构设计。以下是对题目中涉及知识点的详细解释: 1. **单继承与多接口实现**: - C#支持单继承,即一个类只能继承自一个基类...
标题中的“基于FPGA的AXI-lite接口 UART设计”指的是在Field Programmable Gate Array(FPGA)上实现通用异步收发传输器(UART)的一种方法,它利用了Advanced eXtensible Interface(AXI)协议的轻量级版本——AXI-...
行业分类-外包设计-用于包装微流体装置的接口件的介绍分析.rar
依赖接口编程是一种面向接口编程的方式,它强调在代码中使用接口而不是具体的实现类。这样做有几个好处:第一,提高代码的可测试性,因为我们可以轻松地替换接口的实现来创建单元测试;第二,增强代码的灵活性,使得...
### 抽象类与接口的区别 #### 一、定义与特性 **抽象类**: - 抽象类是一种特殊的类,它可以包含抽象方法(没有具体实现的方法)和具体方法(有具体实现的方法)。 - 抽象类不能被实例化,只能作为其他类的父类。 ...
Java面向对象程序设计-并发(实现Runnable接口) Java面向对象程序设计-并发(实现Runnable接口)是Java编程语言中的一种重要概念,它们都是农业信息系统开发的基础组件。下面我们将详细探讨Java面向对象程序设计-...
这种设计允许我们通过`Walkable`接口引用`Person`或`Dog`的对象,并调用其`walk`方法,体现了多态性。 #### 5. Java 8新增特性 - **默认方法**:允许在接口中定义有实现的方法。 - **静态方法**:接口可以包含静态...
本资料"行业分类-电子政务-RS-485通信接口保护电路.pdf"深入探讨了RS-485通信接口的保护电路设计,这对于确保系统在恶劣环境下的稳定性和可靠性至关重要。 首先,我们要理解RS-485接口的基本原理。RS-485采用差分...
### 接口与抽象类的区别及其应用场景 #### 面向接口编程与面向对象编程的关系 面向接口编程(Programming to Interfaces)与面向对象编程(Object-Oriented Programming, OOP)并非并列的概念,而是后者的一个重要...
这样,当数据库表结构发生变化时,开发者只需修改数据库设计,无需手动更新接口类和实体类,降低了维护成本。 此外,generator-mybatis通常允许用户自定义模板,以满足特定项目的需求。例如,可以通过调整模板来...
Avalon接口类型可以分为Avalon-MM接口和Avalon-ST接口两大类,各有其设计理念和应用场景。Avalon-MM接口更强调总线形式的连接,而Avalon-ST接口更强调点对点专用连接。两种接口类型的结合可以更好地体现控制通路和...
在C++编程中,类和接口的设计至关重要,它们构成了面向对象程序的基础。设计原则是确保代码的可维护性、扩展性和高效性的关键。以下是一些关于C++类和接口设计的重要原则及其应用: 1. **单一功能原则**:每个类应...
在JAVA中,我们不仅会接触到基础语法,如类、对象、接口,还会深入学习异常处理、多线程、集合框架、IO流、网络编程等核心概念。 首先,我们需要理解JAVA类和对象的概念。类是JAVA程序的基本构造块,它定义了对象的...
在选择使用抽象类还是接口时,关键在于理解问题领域的需求以及设计模式的目的。抽象类更适合用于提供基础结构,而接口更侧重于定义行为标准。选择正确的工具可以极大地提高代码的可读性和可维护性,同时也为后续的...
在面向对象编程中,接口提供了一种实现多态的方式,同时也支持了类之间的松耦合设计。 #### 二、接口的实现 1. **接口声明与定义** ```java public interface InterfaceName { // 接口中的成员变量默认为public...
### FPGA的PCI接口设计 #### 一、引言 随着计算机技术的发展,高速数据通信的需求日益增长,PCI(Peripheral Component Interconnect)总线作为一种高性能的局部总线,在各种电子设备和计算机系统中得到了广泛的...
- `Abstraction` 类或接口,它定义了基本操作和对实现对象的引用。 - `RefinedAbstraction` 类,扩展了`Abstraction`,可能添加了更具体的业务逻辑。 - `Implementation` 接口,包含了实现部分的方法声明。 - `...
- **适配器模式(Adapter)**:将一个类的接口转换成客户希望的另一个接口。 - **装饰模式(Decorator)**:动态地给一个对象添加新的功能。 - **代理模式(Proxy)**:提供一个替代对象来控制对真实对象的访问。 - **组合...