实施一个面向对象框架的方法_周警伟
面向对象设计技术的使用教程

面向对象设计技术的使用教程面向对象设计技术是一种常用的软件设计方法,它能够提高代码的可重用性、可维护性和可扩展性。
本文将详细介绍面向对象设计的原则、概念和方法,以及如何在实际项目中应用这些技术。
一、面向对象设计的原则1. 单一职责原则(Single Responsibility Principle,SRP):一个类应该只有一个修改的原因。
2. 开放封闭原则(Open Close Principle,OCP):一个类应该对扩展开放,对修改封闭。
3. 里氏代换原则(Liskov Substitution Principle,LSP):子类对象能够替换父类对象。
4. 依赖倒置原则(Dependency Inversion Principle,DIP):高层模块不应该依赖低层模块,二者都应该依赖抽象。
5. 接口隔离原则(Interface Segregation Principle,ISP):客户端不应该强迫依赖它不需要的接口。
6. 迪米特法则(Law of Demeter,LoD):一个对象对其他对象的了解应该尽可能少。
二、面向对象设计的概念1. 类和对象:类是一种抽象的概念,用来描述一类具有相同属性和行为的对象。
对象是类的一个实例。
2. 封装:将数据和方法封装到一个类中,并对外提供接口进行访问。
3. 继承:通过继承机制,子类可以继承父类的属性和方法,并能够添加、修改或重写特定的属性和方法。
4. 多态:同一种行为具有多种不同的实现方式或表现形式,提高了代码的灵活性和可扩展性。
5. 抽象:通过抽象类和接口实现对类的更高层次的抽象,可以使代码更加模块化和可维护。
三、面向对象设计的方法1. 定义类的属性和方法:首先确定类的名称和作用,然后根据单一职责原则定义类的属性和方法。
2. 进行类之间的关系分析:根据具体项目的需求,确定类与类之间的关系,包括继承、关联、聚合和组合等。
3. 设计类的接口:根据接口隔离原则,定义一个类应该提供的接口,以便与其他类进行交互。
《面向对象程序设计》教案

《面向对象程序设计》教案一、教案简介本教案旨在帮助学生掌握面向对象程序设计的基本概念、原理和方法,培养学生的编程能力和软件开发思维。
通过本课程的学习,学生将能够熟练运用面向对象的编程语言,如Java或C++,进行软件开发和设计。
二、教学目标1. 了解面向对象程序设计的基本概念,如类、对象、封装、继承和多态等。
2. 掌握面向对象程序设计的基本原则,如单一职责原则、开闭原则、里氏替换原则等。
3. 学会使用面向对象的编程语言进行程序设计和开发。
4. 培养学生的软件开发思维和团队协作能力。
三、教学内容1. 面向对象程序设计的基本概念1.1 类与对象1.2 封装1.3 继承1.4 多态2. 面向对象程序设计的基本原则2.1 单一职责原则2.2 开闭原则2.3 里氏替换原则2.4 接口隔离原则2.5 依赖倒置原则3. 面向对象的编程语言3.1 Java3.2 C++4. 面向对象的设计模式4.1 创建型模式4.2 结构型模式4.3 行为型模式四、教学方法1. 讲授法:讲解面向对象程序设计的基本概念、原理和编程方法。
2. 案例分析法:分析实际项目中的面向对象设计案例,让学生理解并掌握面向对象的设计思想。
3. 实践操作法:让学生通过编写代码,亲身体验面向对象程序设计的流程和方法。
4. 小组讨论法:分组进行讨论,培养学生的团队协作能力和解决问题的能力。
五、教学评价1. 课堂参与度:评估学生在课堂上的发言和提问情况,了解学生的学习兴趣和积极性。
2. 课后作业:布置相关的编程作业,检查学生对面向对象程序设计知识的掌握程度。
3. 项目实践:评估学生在团队项目中的表现,包括代码质量、设计思路和团队协作能力。
4. 期末考试:全面测试学生对面向对象程序设计知识的掌握情况。
六、教学资源1. 教材:推荐《Java面向对象程序设计》、《C++ Primer》等经典教材。
2. 在线资源:提供相关的在线教程、视频课程和编程练习平台,如慕课网、Coursera、LeetCode等。
软件工程课本讲解面向对象的OMT方法

化旳动态模型 + 细化旳功能模型。
16
第11章 面向对象的OMT方法
对象模型化技术OMT 对象模型化技术把分析时搜集旳信息构造在三类
模型中,即对象模型、功能模型和动态模型。
这个模型化旳过程是一种迭代过程。
17
第11章 面向对象的OMT方法
图11.4 三元关联 29
第11章 面向对象的OMT方法
角色为关联旳端点,阐明类在关联中旳作用和角 色。不同类旳关联角色可有可无,同类旳关联角色不 能省。角色旳表达如图11.5所示。
教师
讲授
课程
主讲
内容
图11.5 关联旳角色旳表达
30
第11章 面向对象的OMT方法
2) 受限关联
受限关联由两个类及一种限定词构成,限定词是 一种特定旳属性,用来有效地降低关联旳重数,限定 词在关联旳终端对象集中阐明。
技术之上旳,OMT措施旳基础是开发系统旳3个模型,再 细化这3种模型,并优化以构成设计。对象模型由系统中 旳对象及其关系构成,动态模型描述系统中对象对事件旳响应及对 象间旳相互作用,功能模型则拟定对象值上旳多种变换及变换上旳
约束。
6
第11章 面向对象的OMT方法
11.1.2 系统分析
分析旳目旳是拟定一种系统“干什么”旳模型,该模型经过 使用对象、关联、动态控制流和功能变换等来描述。分析过程是 一种不断获取需求及不断与顾客磋商旳过程。
8
第11章 面向对象的OMT方法
3. 构造动态模型
构造动态模型旳环节如下: (1) 准备经典交互序列旳脚本。 (2) 拟定对象间旳事件并为各脚本安排事件跟踪。 (3) 准备系统旳事件流图。 (4) 开发具有主要动态行为旳各个类旳状态图。 (5) 检验状态图中共享事件旳一致性和完整性。 最终得到:动态模型 = 状态图 + 全局事件流图。
Chap4-面向对象的软件设计方法

国防科技大学计算机学院
27
用户界面的层次和结构
层次:
屏幕 窗口
用户界面的结构可以由UML类图描述,屏 幕和窗口用类进行表示,并给出它们之间 的关系。 用构造型<<screen>>和<<window>>分别 表示屏幕和窗口。 而屏幕之间的切换过程可以用UML状态图 表示。
国防科技大学计算机学院
国防科技大学计算机学院
25
内容
4.1 基于UML的分析与设计过程
4.2 用例分析与设计
4.3 概念模型和顶层架构设计
4.4 用户界面设计
4.5 数据模型设计 4.6 设计精化 4.7 类设计 4.8 部署模型设计
国防科技大学计算机学院
26
用户界面设计的内容
用户界面包含两方面内容:
首先要完整地包括用户在使用软件过程中所需的各 种元素,例如窗口、菜单、按钮、输入文本框、选 择列表、提示信息等,缺乏这些元素中的某些将会 导致软件功能无法被用户正常完成; 其次要求具有良好的外观和布局,例如背景颜色、 按钮等元素的位置、选择列表中条目的顺序等,这 些因素的不足可能不会影响软件功能的正确使用, 但会给用户带来不便、迷惑甚至反感。
14
细化后ATM用例图
ATM
System Startup InvalidPIN Operator System shutdown
<<extend>>
Session Customer
<<include>>
Printer
Transaction Inquiry Card Reader Transfer Withdrawal Deposit Cash Acceptor Cash Dispenser Bank System
面向对象的实施步骤

面向对象的实施步骤
概述
面向对象是一种计算机程序设计的思想和方法,它将现实世界中的事物抽象成类,通过类与类之间的关系来描述问题的解决方案。
面向对象的实施步骤是指在软件开发过程中,将问题领域的事物映射到面向对象的程序设计中,以下是面向对象的实施步骤。
1. 识别问题领域
首先,要对问题领域进行充分的了解和分析,确定软件开发的目标和要解决的
问题。
需要与领域专家进行沟通和讨论,了解业务流程、需求和问题的本质。
2. 分析问题
在问题领域的基础上,对问题进行进一步的分析和抽象。
可以采用UML(统一建模语言)等工具来绘制问题领域的结构图,如用例图、类图等,以帮助理清问题的关键元素和关系。
3. 定义类
根据分析和抽象的结果,确定需要创建哪些类来表示问题领域的事物。
类是面
向对象程序设计的基本单元,它包含属性和方法,用于封装数据和行为。
在定义类时,要考虑数据的共性和相似性,遵循高内聚、低耦合的原则。
要点:
•确定类名,以描述事物的名词或名词短语命名。
•确定类的属性,即事物的特征或状态。
•确定类的方法,即事物的行为或操作。
4. 确定类之间的关系
在面向对象的程序设计中,类与类之间存在不同的关系,如继承、关联、聚合、组合等。
确定类与类之间的关系有助于构建系统的结构,并提高代码的重用性和可维护性。
常见的类与类之间的关系:
•继承:表示一种。
面向对象的方法有哪些

面向对象的方法有哪些面向对象编程(Object-Oriented Programming,简称OOP)是一种编程范式,它将问题分解为对象,并通过对象之间的交互来解决问题。
在面向对象编程中,我们使用类(class)和对象(object)来组织和管理代码,从而实现代码的封装、继承和多态。
面向对象的方法有以下几种:1. 封装(Encapsulation):封装是面向对象编程的基本特征之一。
它指的是将相关的属性和行为(方法)组合在一起,形成一个对象。
封装可以隐藏对象的内部细节,只提供一些外部接口,从而提高代码的可维护性和重用性。
2. 继承(Inheritance):继承是面向对象编程的另一个重要特征。
它通过创建一个新的类(子类)来继承已有类(父类)的属性和方法。
子类可以继承父类的所有非私有成员,并且可以添加自己的成员。
继承可以实现代码的重用和扩展。
3. 多态(Polymorphism):多态是面向对象编程的核心概念之一。
它指的是同一个类的实例在不同的情况下表现出不同的行为。
多态的实现方式包括函数重载和函数重写。
多态可以提高代码的灵活性和可扩展性。
4. 抽象(Abstraction):抽象是将具体的事物抽象成一般性的概念或模板。
在面向对象编程中,抽象是通过接口(interface)和抽象类(abstract class)来实现的。
接口定义了一组方法的签名,抽象类则提供了部分或者完整的方法实现。
抽象可以帮助我们定义通用的行为,并且使得程序具有更高的可复用性。
5. 组合(Composition):组合是指通过将一个类的对象作为另一个类的成员来组合两个类的关系。
组合可以实现部分和整体之间的关系,从而提高代码的灵活性和可维护性。
6. 封装(Encapsulation):封装是将对象的属性和方法封装起来,以隐藏内部实现的细节。
通过封装,对象对外只暴露有限的接口,隐藏了实现的细节,并且可以添加必要的验证和保护机制,提高代码的可靠性和安全性。
面向对象程序设计之设计原则与方法

面向对象程序设计之设计原则与方法面向对象程序设计是一种先进的程序设计范式,关键在于建立一个具有自主行为和自我描述能力的程序体系结构,它可以非常自然的模拟现实世界中的对象和关系,提升程序的可读性、可扩展性和可维护性,其重要性不言而喻。
在面向对象的程序设计中,设计原则和设计方法是非常重要的,以下是我对其的理解和分析。
一、设计原则设计原则是设计过程中最重要的指导方针。
它可以帮助开发人员做出更好的设计决策,确保程序具有高内聚性和低耦合性,以此提高程序的可扩展性、可维护性和可重用性。
下面是一些常用的面向对象设计原则:1. 单一职责原则(Single Responsibility Principle,SRP)单一职责原则是指一个类、模块或者函数只负责一项任务。
这样做可以降低类的复杂度,提高代码的可读性,方便代码的维护和修改。
2. 开放-封闭原则(Open-Closed Principle,OCP)开放-封闭原则是指一个软件实体(类、模块或函数等)应该对扩展开放,对修改关闭。
也就是说,在不修改现有代码的情况下,可以通过增加新的代码来扩展软件的功能。
3. 里氏替换原则(Liskov Substitution Principle,LSP)里氏替换原则是指如果一个软件实体使用了另一个软件实体,那么它们应该是可以互换的。
也就是说,子类可以替换父类出现在程序中的任何地方,并保证程序的功能正确性。
4. 依赖倒置原则(Dependency Inversion Principle,DIP)依赖倒置原则是指高层模块不应该依赖低层模块,二者都应该依赖抽象。
同时,抽象不应该依赖细节,细节应该依赖抽象。
这样做可以降低模块之间的耦合度,提高代码的可维护性和可重用性。
5. 接口隔离原则(Interface Segregation Principle,ISP)接口隔离原则是指一个类不应该依赖一个它不需要的接口。
也就是说,一个接口应该只提供它的客户端需要的方法,而不应该强迫它们实现它们不需要的方法。
面向对象 教学大纲

面向对象教学大纲面向对象教学大纲引言:在计算机科学领域,面向对象编程(Object-Oriented Programming,简称OOP)是一种广泛应用的编程范式。
面向对象的思想将现实世界中的事物抽象为对象,并通过对象之间的交互来完成任务。
作为一种重要的编程方法,面向对象编程已经成为计算机科学教育中必不可少的内容。
本文将探讨面向对象教学大纲的设计和实施。
一、概述面向对象教学大纲的目标是培养学生的面向对象思维和编程能力。
通过深入理解面向对象的原理和方法,学生能够更好地设计和开发软件系统。
教学大纲应包含以下内容:1. 面向对象的基本概念:类、对象、继承、多态等。
2. 面向对象分析与设计方法:用例分析、类图、时序图等。
3. 面向对象编程语言:Java、C++等。
4. 面向对象开发工具和环境:Eclipse、Visual Studio等。
5. 面向对象的软件开发过程:需求分析、设计、编码、测试等。
二、教学内容1. 面向对象的基本概念1.1 类与对象的定义与关系1.2 继承与多态的原理和应用1.3 封装与信息隐藏的概念和实现1.4 抽象与接口的设计与应用2. 面向对象分析与设计方法2.1 用例分析与系统需求的获取2.2 类图的绘制与类之间的关系描述2.3 时序图的绘制与对象之间的交互描述2.4 面向对象设计原则的应用3. 面向对象编程语言3.1 Java语言的基本语法和特性3.2 C++语言的基本语法和特性3.3 面向对象编程的常见问题和解决方法4. 面向对象开发工具和环境4.1 Eclipse集成开发环境的使用和配置4.2 Visual Studio集成开发环境的使用和配置4.3 版本控制工具的使用和团队协作5. 面向对象的软件开发过程5.1 需求分析与软件架构设计5.2 编码与单元测试5.3 集成测试与系统测试5.4 软件维护与版本更新三、教学方法1. 理论讲授:通过课堂讲解,向学生介绍面向对象的基本概念和原理。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
收稿日期:2001-10-17第19卷 第3期计 算 机 仿 真2002年5月文章编号:1006-9348(2002)03-0107-03实施一个面向对象框架的方法周警伟,罗晓沛(中国科技大学研究生院,北京100039)摘要:软件重用是在软件开发中避免重复劳动的解决方案,通过软件重用,可以提高软件开发的效率和质量。
然而通常的一些重用技术如使用类库等仍然不能满足对重用的要求。
一个面向对象的框架是针对某些特定领域的一些组件的集合,它从更高的层次和更大的规模来软件重用。
它不仅重用了代码,而且重用了分析和设计,以求更好地提高效率和质量。
该文主要从方法学的角度讨论如何实施一个面向对象的框架(Object-Oriented Frame work,简称为OOF)的方法,同时介绍国内外在面向对象框架领域的一些研究和实践活动,并对如何加强相关领域的研究提出一些思路。
关键词:软件重用;组件技术;框架中图分类号:TP31 文献标识码:A1 引言1.1 软件重用软件重用是在软件开发中避免重复劳动的解决方案,通过软件重用,可以提高软件开发的效率和质量,自从面向对象技术的出现并逐渐成为主流开发技术,为软件重用提供了基本的技术支持。
当引入软件重用,现有的软件开发生命周期就变为0为重用而开发0和0用重用开发0。
前者集中在开发可重用的组件,后者在前者开发的组件的基础上再次开发或组装。
过去的过程库和函数库(60年代)和稍后引入对象,继承概念而形成的类库都是可重用的软件组件。
然而设计的重用却更为经济。
设计比编码更能体现软件的智力部份,它要比建立和重建程序代码更为困难和复杂。
类把数据和基于数据的操作结合起来,提高了重用能力。
这些类再被集中在包里。
类库含有各种类和数据结构供继承和使用。
然而使用类库开发依然有很多缺点,主要体现在:1)复杂度。
大型系统的类继承可能非常复杂,如果开发者没有很详细的文挡(即使有)是很难理解设计者的意图。
2)工作重复。
类库可以使开发者重用类,可以用不同的方式做同样的工作,这样导致对同一问题可以有不同解决方案,会引起维护上的困难。
3)流控制。
类库虽然在系统中重用,但是程序还要负责流控制,例如控制从类库产生的对象的交互,开发者要决定以什么样的对象顺序和操作来进行流程。
4)开发者需要写大量的代码。
要避免和减少以上的问题以及重用设计,就要使用面向对象的框架。
1.2 框架的起源和定义最早的框架概念起源于Smalltalk 环境,Small talk-80的用户接口框架,就是Model-View -Controller(MVC),可能是最早被广泛使用的框架。
当Apple 公司开发了支持基于Maci ntosh 的应用的用户接口框架后,以及Interviews 和ET ++的用户接口框架也被开发和使用后,框架逐渐被人们认识和重视。
框架也被应用到其他领域如操作系统等。
T ali gent 公司成立(1992年)后,致力于开发一个基于框架的完全面向对象的操作系统,它发布了很多用于加快应用开发的工具,包含了一百多个面向对象的框架。
框架也随之得到了更多设计人员的关注。
用框架开发模式,使软件开发更象一个工业的生产过程。
Johnson and Foote ,Designing Reusable Classes 中的定义:/A framework i s a set of classes that embodies an abstract design for solutions to a family of related problems.0这是被引用得最多的关于框架的定义.经过精心设计的框架,可以方便快速的扩展功能,提取通用功能,而且改善性能,提高软件的稳定性,使维护更容易和方便。
框架不仅仅是一些类和程序的集合,它来自于对象之间内在的联系。
是这些对象的内在天然联系,才使得框架发挥作用,使开发者只用扩展框架行为就可以用来适应商业需求。
1.3 框架与其他概念的区别1.3.1 与设计模式(Design Pattern)的区别首先,设计模式比框架更抽象。
框架包含代码,而设计模式的例子才有代码。
设计模式还描述意图、协定和后果。
其次,设计模式是比框架小得多的结构。
框架可以含有若干个设计模式,反之不行。
设计模式对应用结构没有很大影响。
再次,框架比设计模式更特殊。
框架总是与特定领域联系在一起,而设计模式比较通用,适用很多领域。
1.3.2 与模式语言(Pattern Language)的区别模式语言是用来描述怎样进行设计,而面向对象的框架)107)就是一个设计。
模式语言可以是对框架的一个补充,因为它可以教开发人员怎样适用框架,描述框架为什么这样设计。
1.3.3 与类库的区别类库是通用功能而设计的相关类的组合。
通常类库中的类与领域没有关系。
类库与框架的主要区别在于重用程度和对应用结构的影响程度。
1.3.4 与结构框架(Architectural frameworks)的区别一个面向对象的框架是为一组应用的一个通用结构的实现。
而结构框架是与语言无关的。
1.3.5 与面向对象应用的区别一个应用是满足一个特定需求的一组可执行的程序的组合。
框架具有了相关领域内应用的功能,但是是不可执行的,因为它还没有被赋予特定的行为动作。
图1 框架的内容2 面向对象框架关于框架的方法学问题,包括框架的开发,框架的使用和框架的文档三方面(见图1)。
2.1 框架的开发方法一项新技术的成功往往取决于是否能够与以前的技术和数据兼容。
现在企业的业务量的迅速增长,信息的千变万化,都要求企业通过新的渠道和方法来表达,同时又不损坏已有系统的数据。
在电子商务网站的开发当中,经常会遇到开发某一模块的中后期,随着客户需求的变化更新,由于应用系统结构性差,很可能要重新设计,重新编码,更糟糕的是由于各个模块相互依赖,一个模块的重新设计导致相关的模块也得重新设计和编码。
常用的开发模式和软件结构已经很难适应现代的电子商务的快速变化的需要。
阅读其他人写的程序代码也是一大难题。
程序员的水平和编码习惯各不一样,当一个程序员离职后,其他的程序员是很难去读懂他的代码,所以维护起来也是相当困难和麻烦的。
能不能让软件开发至少是电子商务网站开发象工厂里的流水线工作一样:不管是谁来操作和开发,都有一个规范可循;而且相关的模块开发可以并行,相互的依赖和影响尽量减少。
其实在实际开发当中是可以做到这一点的,尤其在某一领域的电子商务网站的开发中,由于业务电子表达的方式相象,通过改变传统编码习惯,注重软件结构的合理性和扩展性,/基于框架编码0的模式,能较好地解决这个问题。
基于框架的编程方式可能需要一种新的思考方式。
在过程式编程模式里,程序员设计流程、编码,程序中调用其他的API,程序。
而在基于框架的开发模式下,框架提供了结构和执行流程,程序员编写的代码等待框架去调用。
这就是所谓的/好莱乌原则0)))/Don .t call us,we will call you 0。
不过实际中也不可能完全是这样。
有人把框架分为/白盒框架0和/黑盒框架0。
白盒框架主要通过继承,黑盒框架主要通过组合来实现特定行为。
白盒框架主要是因为不能很深入地了解某一领域内的行为而无法参数化其行为,而黑盒框架是参数化的框架。
实际中的框架不会是完全属于某一类,而是包含这两种情况,也就是说一个框架的客户化,某些部分需要被组合,有些部分需要被继承。
传统的开发模式是分析y 设计y 开发应用。
而基于框架的应用开发是领域分析y 框架设计y 开发应用(1,2...n).一个框架可以以两种方式使用,一种是结构驱动(集中于继承)框架,一种是数据驱动(集中于组合)的框架。
前者使用起来比较麻烦,因为要写很多代码去实现,后者相对容易使用,但是怎样组合对象要根据传给框架的是什么样的对象。
一个较好的模式是框架是基于结构驱动,同时有一个数据驱动层,这样既好扩展,又容易使用。
通常的框架开发过程为:图2 基于应用开发经验的框架开发流程图p 基于应用开发经验的框架开发流程如图2p 基于领域分析的框架开发流程(见图3)p 使用设计模式的框架开发流程(见图4)图3基于领域分析的框架开发流程图p 通常使用的框架开发方法(见图5)1)问题领域分析。
通过一个以上的领域内应用开发,提出关键的抽象层。
2)利用关键抽象开发第一版的框架。
图4使用设计模式的框架开发流程图3)基于这个框架,开发一个或若干个应用,测试这个框架是否可重用。
4)集中开发过程中产生的问题,开发下一个版本的框架。
5)重复3-4,一个成熟的框架发布。
2.2 基于框架的开发(使用框架)基于框架的应用开发方法与通常的基于类库的开发方法主要区别在于两点:第一,是在运行时刻由框架决定和控制应用的行为,而基于类库的应用则不是。
第二,框架影响应用系统的整个结构,而类库对应用系统的影响比较小。
)108)图5 通常使用的框架开发方法图通常的软件开发方法由以下几个步骤:1)领域分析2)需求分析3)系统分析4)结构设计5)详细设计6)实现7)测试8)维护基于框架的开发包含上述通常的步骤,但是还必须包括:1)为系统应用定义概念层的框架。
分析系统的功能,进行系统的功能分解,明确各功能的联系。
2)选择一个合适的面向对象框架。
一般选择了一个框架后该系统应用的结构也就基本固定了。
3)把系统应用的概念层框架影射到所选择的面向对象的框架(子系统影射到子框架)。
4)指定和修改框架的子框架之间的关系。
一个框架可能包含若干个子框架,一个框架也可能被设计为可添加子框架的,如设备驱动程序框架和数据库存取框架。
5)结构化子框架的不同组件。
这包括决定子框架的哪些部分应该是固定了,哪些还没有。
如果是固定了,那已经实现的缺省行为动作将被使用。
如果没有固定,就是说还要去实现一些抽象类或接口。
6)实现软件系统。
2.3 框架的文档推广一个框架关键的一点就是这个框架有没有一个好的文档来描述这个框架是什么,怎么使用。
框架文档至少要适用于三种用户:1)决定使用哪一个框架的用户。
框架文档至少要说清楚这个框架能够做什么,有什么比较重要的功能。
2)使用框架的用户。
框架文档要说清楚如何使用这个框架,必须有一个十分清晰的使用文档。
3)使用框架的高级用户。
框架文档要说清如何扩展这个框架,即如何往框架中添加新的功能。
文档要能够使用户从深层次去理解框架,要从抽象的角度描述框架所使用的一些算法、设计模式等,描述清楚框架为什么要这样设计。
因为框架包含了领域内很多复杂的问题,以及屏蔽了技术上的很多难点与细节,所以必须要有文档来描述清楚。
普通的类库文档需要如下信息:p 结构信息,如类名,超类,类型,初始化参数等。
p 描述信息,说明该类的用途。
p 使用方法。
p 用到的术语解释。
p 配置信息。