面向对象设计

面向对象设计

1.面向对象设计思想:

面向对象设计采用与结构化设计不一样的视角,他是将世界抽象成一系列具有一定职责的自由数据个体,个体之间相互协作,共同完成高级的行为.
职责:每个数据个体包括自己独有的数据信息(属性),还包括一些依赖于这些数据信息所能做的事情(方法),然后数据信息和所能做的事情就组成了这个自由数据个体的职责.
每个个体只执行自己的职责,如果自己无法完成一件事情就会通过互发信息,要求其他个体来做他们的能够做的事情,从而完成复杂的行为.

2.面向对象设计的过程:

2.1设计模型建立

2.1.1通过职责建立静态设计模型

1.抽象类的职责:类的职责主要是:属性职责(对象的状态)和方法职责(对象的行为)
2.抽象类之间的关系:其中明显的强弱关系是:依赖<关联<聚合<组合<继承

依赖关系:对象之间最弱的一种关联方式,是临时性的关联。代码中一般指由局部变量、函数参数、返回值建立的对于其他对象的调用关系。

关联关系:客户类与订单类之间的关系,关联表示类之间的“持久”关系,需要保存的,或者说需要“持久化”的,或者说需要保存到数据库中的。另外,依赖表示类之间的是一种“临时、短暂”关系,这种关系是不需要保存的.
聚合(关联关系的一种):表示 has-a 的关系。与关联关系一样,聚合关系也是通过实例变量来实现这样关的。关联关系和聚合关系来语法上是没办法区分的,从语义上才能更好的区分两者的区别。如汽车类与引挚类,轮胎类之间的关系就是整体与个体的关系。与关联关系一样,聚合关系也是通过实例变量来实现的
组合关系:对象 A 包含对象 B,对象 B 离开对象 A 没有实际意义。
继承关系:企鹅 鸟类

3.添加辅助类:

接口类
记录类
启动类
控制器类
实现数据类型的类
容器类

2.1.2通过协作建立动态模型

1.抽象对象之间的协作
如何设计对象之间的协作:从小到大,从大到小
表示:顺序图

2.明确对象之间的创建:优先考虑

3.选择合适的控制风格
集中式,委托式,分散式

2.2设计模式重构

1.根据模块化思想进行重构,目标为高内聚低耦合;
模块化是为了消除软件复杂度,将复杂的分解为若干代码片段,每个完成一个功能.并且包含这个功能所需要的的信息.
耦合:

内聚:

单一职责:信息和行为集中,联合表达一个内聚的概念
依赖倒置原则:抽象不应该依赖于细节,细节应该依赖于抽象,抽象是稳定的,细节是不稳定的
里氏替换原则:子类型必须能够替换基类型而起同样的作用
接口分离原则:
2.根据信息隐藏的思想重构,目标为隐藏职责和变更
信息隐藏就是利用抽象的方法,抽象出每个类的关键细节,也就是模块的职责(什么是公开给别人看的,什么是隐藏在自己的模块中的),也就是说,抽象出来的就是接口,隐藏的就是实现,他们共同体现一个模块的职责.
开闭原则:对拓展开放,对修改关闭
3.利用设计模式进行重构 GOF23

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值