一、简单工厂模式
简单工厂:简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类(这些产品类继承
自一个父类或接口)的实例。
优点:简单工厂模式最大的优点在于工厂类中包含了必要的逻辑判断,根据客户端的选择条件动态实例化相关的类,
对于客户端来说,去除了与具体产品的依赖。
缺点:由于工厂类集中了所有实例的创建逻辑,违反了高内聚责任分配原则,将全部创建逻...
分类:
其他好文 时间:
2014-12-22 09:36:31
阅读次数:
204
上次我们谈了MVC,而之前我们学习过三层,那么我们不禁就要问,他们说的是一回事吗,他们有什么联系吗?
三层架构(3-tier application)通常意义上的三层架构就是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。区分层次的目的即为了“高内聚,低耦合”的思想。
1、表现层(UI):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的...
分类:
Web程序 时间:
2014-12-21 22:16:04
阅读次数:
206
高通新的camera驱动架构设计发生了一些变化,借用互联网上常用的一种结构,大致的原理如此:将camera的所有功能划分为不同的模块,让模块自己来决定自己的事情(高内聚,低耦合),模块需要有统一的接口和格式。模块中有端口,通过端口把模块连接起来,又把模块挂在总线上。每一个端口的连接就是一个流,...
分类:
其他好文 时间:
2014-12-18 16:49:17
阅读次数:
245
之前在创建了一个顺序表的功能函数,这个没有疑问,测试没有错误,但是在接下来的做插入功能的时候发现插入的时候用模块写,不调用这个创建的函数,很难做到这个。该怎么实现这个“高内聚,低耦合”的原则。
#include
#include "Orderfist.h"
status InsertList_Sq(
SqList L[]
) /* 在链表插入一个元素 */
{
UINT32 I...
分类:
其他好文 时间:
2014-12-14 15:53:41
阅读次数:
179
从开始画UML图就一直听说三层,当时就查过一些资料有个大概的理解,现在到了真正学习三层的时候当然要理清楚思路。
三层的存在一定是有它的道理,那么使用三层来设计程序有什么好处,答案是“高内聚,低耦合”这该如何理解呢?那就先理解一下内聚和耦合。内聚就是说一个模块在完成职责时应该尽量的只和自己内部的元素联系,不要麻烦其他的模块。耦合则刚好是相反的一个模块在完成自己职责时,不得不调用其他的...
分类:
其他好文 时间:
2014-12-14 10:42:18
阅读次数:
197
明确函数所在类的位置是很重要的。这样可以避免你的类与别的类有太多耦合。也会让你的类的内聚性变得更加牢固,让你的整个系统变得更加整洁。简单来说,如果在你的程序中,某个类的函数在使用的过程中,更多的是在和别的类进行交互,调用后者或者被后者调用,那么你就要注意了,你要去判断这个类是否真正适合他原来所在的类...
分类:
其他好文 时间:
2014-12-12 09:59:56
阅读次数:
179
逻辑架构重在描述系统的职责划分和职责间的协作关系,它是软件的宏观组织结构。之所以称为逻辑架构,是因为并未决定如何在不同的操作系统进程或网络中物理的计算机上对这些与元素进行部署。
层和子系统的粗细粒度,需要考虑在建系统的特点。根据系统大小,逻辑结构可以大到分层和子系统,也可以小到模块或者一个个的类。但不管如何划分,需要针对系统的主要组成部分,强调内聚的职责。还需要描述层次的调用原则,如较高层可以调用较低层,反之则不然。
严格的分层架构中,层只能调用与其相邻的下层的服务,一般用于网络协议应用...
分类:
其他好文 时间:
2014-12-06 15:28:54
阅读次数:
202
前面已经介绍了DDD分层架构的实体和值对象,本文将介绍聚合以及与其高度相关的并发主题。 我在之前已经说过,初学者第一步需要将业务逻辑尽量放到实体或值对象中,给实体“充血”,这样可以让业务逻辑高度内聚,并为你提供业务逻辑的唯一访问点。而聚合则是第二步,它将多个相关业务概念包装到单一的概念中,从而...
分类:
其他好文 时间:
2014-12-04 06:20:39
阅读次数:
338