// Constructor.接口对象
var Interface = function(name, methods) {
if(arguments.length != 2) {
throw new Error("Interface constructor called with " + arguments.length
+ "arguments, but expected exactly 2.");
}
this.name = name;
this.methods = [];
for(var i = 0, len = methods.length; i < len; i++) {
if(typeof methods[i] !== 'string') {
throw new Error("Interface constructor expects method names to be "
+ "passed in as a string.");
}
this.methods.push(methods[i]);
}
};
// Static class method.
Interface.ensureImplements = function(object) {
if(arguments.length < 2) {
throw new Error("Function Interface.ensureImplements called with " +
arguments.length + "arguments, but expected at least 2.");
}
for(var i = 1, len = arguments.length; i < len; i++) {
var interface = arguments[i];
if(interface.constructor !== Interface) {
throw new Error("Function Interface.ensureImplements expects arguments "
+ "two and above to be instances of Interface.");
}
for(var j = 0, methodsLen = interface.methods.length; j < methodsLen; j++) {
var method = interface.methods[j];
if(!object[method] || typeof object[method] !== 'function') {
throw new Error("Function Interface.ensureImplements: object "
+ "does not implement the " + interface.name
+ " interface. Method " + method + " was not found.");
}
}
}
};
/* How to Use */
//定义一些接口
var Composite = new Interface('Composite',['add','remove','getChild']);
var FormItem = new Interface('FormItem',['save']);
//检查Object是否实现接口Composite和FormItem的方法
Interface.ensureImplements(Object, Composite, FormItem);
分享到:
相关推荐
"接口设计说明书模板详解" 在软件开发过程中,接口设计是非常重要的一步骤,它对整个项目的成功至关重要。一个良好的接口设计可以提高系统的可维护性、可扩展性和可重用性,而一个不良的接口设计则可能会导致项目的...
在软件开发过程中,接口设计和界面设计是两个至关重要的环节,它们直接影响到用户的使用体验和系统的可维护性。本文将详细探讨这两个主题。 首先,我们来讨论“接口设计”。接口设计是软件系统中不同组件之间交互的...
军用软件接口设计规范是确保军事系统间无缝通信与数据交换的关键性文件。在复杂的军事环境中,软件接口的标准化和规范化对于提升系统互操作性、维护性和安全性具有至关重要的作用。这一规范通常涵盖了一系列详细的...
DSP接口设计是嵌入式系统开发中的重要环节,它涉及到数字信号处理器(DSP)与外部设备之间的通信,如存储器、外围接口等。在本文中,我们将深入探讨DSP接口设计的相关知识点,包括基本概念、设计原则以及实际应用。 ...
USB接口设计是一个涵盖硬件、软件和协议栈的综合过程,涉及到多个层面的知识点。 一、USB接口物理层设计 USB接口的物理层主要关注信号传输的电气特性,包括电压等级、信号线配置、连接器类型等。USB标准定义了不同...
**互联网软件开发接口设计说明书模板** 1. **文档说明** - **阅读对象**: 本接口设计说明书适用于软件开发团队中的后端开发人员、测试工程师、产品经理以及与接口对接相关的第三方开发者。它提供了清晰的接口定义...
API 接口设计规范 API 接口设计规范是一组标准化的规则和约定,旨在规范 API 接口的开发和使用。该规范涵盖了 API 接口的设计、实现、测试和维护等方面,旨在提高 API 接口的质量、可维护性和可扩展性。 API 接口...
杜滢在"IEEE 1394协议及接口设计"中可能详细介绍了如何在实际应用中设计符合IEEE 1394标准的接口,包括硬件设计、固件开发以及与主机软件的交互。可能涵盖的内容包括: 1. **硬件设计**:讲解接口的物理布局,如...
单片机毕业设计中的USB接口设计是一项重要的技术实践,它涉及到微控制器(MCU)与个人计算机或者其他USB设备之间的通信。USB(Universal Serial Bus)接口是现代电子设备中广泛使用的接口标准,它提供了数据传输速度...
**软件接口设计说明书模板详解** 软件接口设计说明书是软件开发过程中的重要文档,它详细描述了不同组件或系统之间的交互方式。这份模板为空模板,旨在为编写者提供一个结构化的框架,以规范地记录和表达软件接口的...
### 接口设计说明书知识点详解 #### 一、概述 接口设计说明书对于软件开发者来说是一项重要的文档资源。本文档详细介绍了LK9000编程接口中的各项功能与使用方法,帮助用户更好地理解和应用这些接口来开发LK9000软件...
### API接口设计文档模板知识点详解 #### 一、概述 API(Application Programming Interface)接口设计文档是软件开发过程中不可或缺的一部分,它为开发者提供了清晰、准确的接口调用指南。一个良好的API文档应包括...
【接口设计说明(IDD)】是软件开发过程中关键的文档之一,主要用来详细描述系统、子系统、硬件配置项、软件配置项以及手动操作等之间的交互特性。它旨在确保各个组件之间的兼容性和协同工作能力,同时也作为设计...
在IT行业中,接口设计是构建软件系统不可或缺的一部分,它涉及到不同组件或系统之间的通信方式。在"接口设计项目设计及具体实现"这个项目中,我们可以深入理解接口设计的重要性以及如何将其应用于实际项目中。 首先...
单片机 USB接口设计单片机 USB接口设计单片机 USB接口设计单片机 USB接口设计单片机 USB接口设计单片机 USB接口设计单片机 USB接口设计单片机 USB接口设计单片机 USB接口设计单片机 USB接口设计单片机 USB接口设计...
软件开发文档模板GF-接口设计说明(GJB-438B-2009)知识点总结 通过分析提供的文档模板,我们可以总结出以下知识点: 一、文档标识和版本号 * 文档标识是指文档的唯一标识符,用于标识文档的身份和版本号。 * ...
在本次的“操作系统命令接口设计”课程设计中,学生将面临一个挑战,即设计一个简单的操作系统命令接口,特别是基于DOS命令行接口的实现。这个任务旨在让学生深入理解操作系统接口的设计原理,以及如何使用C语言来...
在软件开发中,接口设计模式是一种重要的设计模式,它定义了对象之间交互的边界,使得系统各部分可以独立地进行扩展和变化。本示例主要探讨接口设计的重要性、原则以及如何在实际项目中应用。 首先,接口是面向对象...
在软件开发过程中,接口设计文档是一个至关重要的环节,它为开发者提供了清晰的通信规范,确保不同组件或系统之间的协同工作。下面我们将详细探讨如何编写一个有效的接口设计文档,以及如何利用提供的模板来实现这一...
《Visual Basic接口设计与工程实践》全面介绍了如何使用Visual Basic程序语言来设计和测试接口电路。《Visual Basic接口设计与工程实践》分为23章,主要内容包括:VB的集成开发环境、并行端口和串行端口的基本概念与...