Object-Oriented Programming
object-oriented 任何软件都是由对象构成。
Base
Requirement-based
基于需求
Driven
Model-driven/Use Case-driven以用户的使用为引导
引导。
Centered
Architecture-centered
一切软件开发的活动都围绕着架构。
Service-Oriented Architecture(SOA)
相信网络的世界(软件)都由服务所构成
对象:
自然界各式各样的东西,都是对象。(心中的对象,认识的。)
特征或属性(Attribute)
行为(Behavior)
软件(Software Object)之对象由数据(Data) 和函数(Function)组成
类(Class)是群体(或集合),而对象是类中的一份子。
通常用Is A来表达对象与类之前的关系。
例如:毕加索是一个艺术家。
基类------大集合
子类------小集合
继承体系
如何让Thread与Tasks组合起来。
一种组合,一种继承。
例:Thread的两种用法。实现Runnable接口与继承Thread类。
接口
桌面、桌脚结合起来的函数
Hook,卡榫函数(Plug and Play):可以让实体易于新陈代谢、抽换自如。
Separate code that changes from the code that doesn't------变与不变
IoC:Inversion of Control
基类调用子类。
主控权是在基类手上,通过Hook函数来调用子类。
API.
主动型vs。被动型API
API:软件模块与软件模块之间的接口
UI:系统与人之间的接口
主动型:IoC,即Hook方法
被动型:传统的,子类方法调用基类的方法
Orbix=====用的被动型接口,死了。
corba标准
微软os
1995年 COM/DCOM框架 --------1998年也死了
2001年改为 .NET框架 基类子类结构
以马关条约
条约文档就相当于是接口控制权在日本
接口其是一种退化型的类。
1、一般类别:所有函数都是具象。
2、抽象类别:有一个或多个函数是抽象的。
3、纯粹抽象类别:所有函数都是抽象的。--------接口
接口在uml里用圆圈来表示。