一、IOC控制反转和DI依赖注入 1.控制反转,字面可以理解为:主动权的转移,原来一个应用程序内的对象是类通过new去主动创建并实例化的,对对像创建的主动权在程序代码中。程序不仅要管理业务逻辑也要管理对的象创建和依赖关系。这是很累的,也跟软件工程 "低耦合高内聚" 的概念不十分符合。 有了sprin ...
分类:
编程语言 时间:
2017-10-19 19:58:19
阅读次数:
184
接口分离原则(Interface Segregation Principle) 接口分离原则(Interface Segregation Principle)用于处理胖接口(fat interface)所带来的问题。如果类的接口定义暴露了过多的行为,则说明这个类的接口定义内聚程度不够好。换句话说,类 ...
分类:
其他好文 时间:
2017-10-18 00:10:53
阅读次数:
192
序一 如何降低系统的复杂度,提升敏捷性是关键而头疼的问题;降低模块之间的耦合度,提升组件的内聚性,规范对外的接口,实现分布式的系统架构,把一个大型的系统通过服务化的方式规划治理起来,已经成为一个共识。 序二 与传统的客户端设计相比,服务端的架构设计更关注伸缩性、可用性和可维护性。 前言 随着业务的发 ...
分类:
其他好文 时间:
2017-10-15 19:26:57
阅读次数:
220
生产者与消费者模型 生产者与消费者两个子进程,同时开启,通过队列q,进行数据上的通信。q在主进程创建,作为参数传给生产者,消费者两个子进程。 程序中两类角色:生产者,消费者。 功能:通过引用第三方队列q,平衡生产者与消费者之间的速度差异。 分布式系统 分布式系统(distributed system ...
分类:
其他好文 时间:
2017-10-12 19:01:10
阅读次数:
166
耦合性也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。模块间耦合高低取决于模块间接口的复杂性、调用的方式及传递的信息。 有个例子很容易明白:一个程序有50个函数,这个程序执行得非常好;然而一旦你修改其中一个函数,其他49个函数 ...
分类:
编程语言 时间:
2017-10-10 16:59:08
阅读次数:
182
软件开发中模块的内聚也分多种。功能内聚:完成一个单一的功能,各个部分协同合作,缺一不可。顺序内聚:处理元素相关,而且必须顺序执行。通信内聚:所有处理元素集中在一个数据结构的区域上。过程内聚:处理元素相关,而且必须按特定的次序执行。瞬时内聚:所包含的任务必须..
分类:
其他好文 时间:
2017-10-10 10:03:03
阅读次数:
128
什么是面向对象: 对象由两部分构成:属性 和 方法; 面向对象的特点: 1.封装:对于相同功能的代码,放在一个函数中,以后再用到此功能,只需要调用即可,无需再重写;避免大量冗余代码; 专业话说:低耦合,高内聚; 2.继承:子类继承父类原有的属性和方法; 类:'Object','Function',' ...
分类:
Web程序 时间:
2017-10-09 14:15:51
阅读次数:
248
1、一般情况下,对每一种设备驱动都会定义一个软件模块,这个工程模块包含.h和.c文件,前者定义该设备驱动的数据结构并声明外部函数,后者进行设备驱动的具体实现。 2、典型的无操作系统下的逻辑开发程序是:这种三层的裸机驱动模型是足够满足低耦合、高内聚的特点的。 3、当有操作系统存在时,设备驱动成为了连接 ...
分类:
系统相关 时间:
2017-09-29 16:51:23
阅读次数:
371
DIP:依赖倒置原则 依赖倒置原则是一种设计原则,它提出可以通过反转依赖关系来实现高内聚和低耦合。 那么当DIP提出这种设计原则之后谁来具体实现这种原则呢,这时候引进IoC。 IoC:控制反转 Ioc是基于DIP提出的反转依赖的思想的设计模式,它提出了可以创建第三方来管理依赖关系。 传统的依赖关系是 ...
分类:
其他好文 时间:
2017-09-26 11:58:20
阅读次数:
155
单一职责原则 对于单一职责原则,其核心思想为:一个类,最好只做一件事,只有一个引起它的变化。单一职责原则可以看做是低耦合、高内聚在面向对象原则上的引申,将职责定义为引起变化的原因,以提高内聚性来减少引起变化的原因。职责过多,可能引起它变化的原因就越多,这将导致职责依赖,相互之间就产生影响,从而大大损 ...
分类:
其他好文 时间:
2017-09-26 00:00:54
阅读次数:
146