Chinaunix首页 | 论坛 | 博客
  • 博客访问: 408745
  • 博文数量: 57
  • 博客积分: 193
  • 博客等级: 入伍新兵
  • 技术积分: 1192
  • 用 户 组: 普通用户
  • 注册时间: 2012-12-13 14:37
个人简介

当以艺术眼光看程序,寻找程序后面的原理,做到化而不忘

文章分类

全部博文(57)

文章存档

2017年(5)

2015年(7)

2014年(27)

2013年(18)

我的朋友

分类: 架构设计与优化

2015-10-19 23:11:59

12.2 依赖原则

接口的体现形式是多样的,或者说接口的模型是多样的,可以是变量,可以是类型,可以是函数,可以是文件,可以是模块,也可以是层,或者说,接口只是属性,只要有接口属性的存在,都可以叫做接口。

接口原理:接口的最终体现是模型,模型是多样化的。接口模型化,模型具体化,多样化。

接口是抽象化的结果,所以抽象有多个少特点,接口就有相同的特点。

依赖注入是指类一级别,不依赖于具体而依赖于抽象,是组件放弃管理所依赖的类的生命周期以增加内聚度,并让依赖抽象化以减少耦合度。放弃管理所依赖的类的生命周期也就是将所依赖的类抽象化了,比如原来依赖于矩形 ,现在改正为依赖于图形。矩形实现图形接口。

那么,新问题来了:组件所依赖的类的生命周期到底应该谁来管理呢?由谁来管理比较好呢?这是个问题,如果由外部来管理,那就要引入新的设计模式了。

 

依赖注入是控制反转的一个实现方式。那么还有其它实现方式吗?

 

12.3 高内聚,低耦合

降低耦合要保持可理解性,可能维护性,可重用性。

降低耦合要使用抽象方法,降低耦合的结果也是得到模型。模型也是多样化的,可能是变量,可能是类型,可能是函数,可能是文件,可能是模块,也可能是层。

降低耦合也就是产生相关模型,也就是模型实现解耦合,也就是耦合分散于模型中,由模型来实现耦合,也就是说,模型负责耦合耦合形式多样,自然模型也是多样的

限制使用范围是降低耦合的方式之一,比如提供函数范围,文件范围,模块范围。好像C语言无法提供模块范围。

架构设计的过程是逐步产生模型的过程,没有模型产出的设计是没有意义的

阅读(2385) | 评论(0) | 转发(0) |
0

上一篇:Lua学习笔记

下一篇:从objcopy说开去

给主人留下些什么吧!~~