10、面向对象开发

面向对象分析OOA、面向对象设计OOD、面向对象开发OOP是面向对象开发的三个主要环节。

一、面向对象分析 OOA

面向对象分析的产出是详细的需求描述及解决方案。
将笼统的需求细化到足够清晰、可执行。我们需要通过沟通、挖掘、分析、假设、梳理,搞清楚具体的需求有哪些,哪些是现在要做的,哪些是未来可能要做的,哪些是不用考虑做的。

针对框架、类库、组件等非业务系统,作为被很多系统复用的通用框架,相比业务系统对代码质量的要求会更高。开发这类系统,对工程师的需求分析能力、设计能力、编码能力,甚至逻辑思维能力的要求都比较高。另外虽然开发出来的东西要足够通用,但需求分析还是基于具体的应用场景来做。
迭代-分析需求及优化解决方案: 需求分析的过程是一个不断迭代优化的过程。我们无法一下子就能给出一个完美的解决方案,而是先给出一个基础的、粗糙的方案,在此基础上迭代优化。提出问题,然后再解决问题,是一个很好的迭代优化方法。

二、面向对象设计 OOD

面向对象设计阶段将需求描述转化为具体的类的设计,产出是类及类图。面向对象设计完成之后,我们需已定义清晰类、属性、方法、类之间的交互,并且将所有的类组装起来,提供执行入口。

1、划分职责进而识别出有那些类

根据需求描述,把其中涉及的功能点一个一个罗列出来,然后看哪些功能点职责相近,操作同样的属性,可否应该归为同一个类。
对于大型的、复杂的需求开发,涉及的功能点比较多,先进行模块划分,将需求划分为小的、独立的功能模块。

2、定义类及其属性和方法

每个类有哪些属性和方法,同样从功能点列表中挖掘。
从业务模型上来判断,不应该属于这个类的属性和方法,不要放在这个类里。
属性: 把功能点中涉及的名词,作为候选属性,然后进行过滤筛选。
方法: 把功能点描述中涉及的动词,作为候选的方法,然后进行过滤筛选。
1、不是所有出现的名词都被定义为类的属性,有些适合作为方法的参数。
2、不单纯依赖当下需求,还要分析从业务模型上来讲,理应具有哪些属性和方法。用以保证类定义的完整性,及为未来的需求做准备。

3、定义类与类之间的交互关系

继承: Java属于单继承。
实现: 接口和实现类之间的关系
组合: 只要B类对象是A类对象的成员变量,那A类和B类就是组合关系。
依赖: 是一种更弱的关系,只要B类对象和A类对象有任何使用关系,如成员变量、参数、返回值、局部变量,我们都称它们有依赖关系,包含关联。

4、将类组装起来并提供执行入口

将所有的类组装在一起,提供一个执行入口。如果是一个独立运行的系统,执行入口是一个main()函数。如果是一个集成在系统上运行的组件,入口可以是一组给外部使用的API接口。

三、面向对象编程 OOP

面向对象编程的工作,就是将面向对象的设计翻译成代码实现。
软件开发是一个遇到问题解决问题,反复迭代、不断重构的过程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值