This is bill的专属博客

blog做为个人笔记使用,转载如果未贴地址,原作者看到可以联系我,我会将您的地址附上...

软件设计之——“高内聚低耦合”

耦合度一、什么是耦合度软件设计中通常用耦合度和内聚度作为衡量模块独立程度的标准。划分摸块的一个准则就是高内聚低耦合。 耦合度(Coupling)是对模块间关联程度的度量。耦合的强弱取决与模块间接口的复杂性、调用模块的方式以及通过界面传送数据的多少。 模块间的耦合度是指模块之间的依赖关系,包括控制关...

2017-04-06 14:01:28

阅读数 1261

评论数 0

图的定义

概述图(Graph)是一种比线性表和树更为复杂的数据结构。线性结构:是研究数据元素之间的一对一关系。在这种结构中,除第一个和最后一个元素外,任何一个元素都有唯一的一个直接前驱和直接后继。 树结构:是研究数据元素之间的一对多的关系。在这种结构中,每个元素对下(层)可以有0个或多个元素相联系,对上(层...

2017-03-29 16:23:12

阅读数 396

评论数 0

软件工程中的耦合类型

耦合性(Coupling),也叫耦合度,是对模块间关联程度的度量。耦合的强弱取决与模块间接口的复杂性、调用模块的方式以及通过界面传送数据的多少。模块间的耦合度是指模块之间的依赖关系,包括控制关系、调用关系、数据传递关系。模块间联系越多,其耦合性越强,同时表明其独立性越差。软件设计中通常用耦合度和内...

2017-03-24 21:17:16

阅读数 3078

评论数 0

C++多线程框架--------- 消息队列

首先,本文提到的代码的github地址为:https://github.com/wyh267/Cplusplus_Thread_Lib之前,多线程一些基本的东西,包括线程创建,互斥锁,信号量,我们都已经封装,下面来看看消息队列我们尽量少用系统自带的消息队列(比如Linux的sys/msgqueue...

2017-03-12 20:38:26

阅读数 7546

评论数 0

软件架构模式-事件驱动

没有进行架构设计的应用程序通常是紧耦合的、玻璃心,难以改变。没有头绪。如果不理解应用的各个组件的内部工作方式的话很难看清它的架构特征。关于部署和维护的问题都很难回答:架构的规模如何?程序的性能如何?程序容易修改么?程序的部署模型是怎么样?程序的响应如何?架构模式可以帮助你定义程序的基本特征和行为。...

2017-03-11 22:22:20

阅读数 5041

评论数 1

Node.js事件驱动编程

Node.js现在非常活跃,相关生态社区已经超过Lua(基本上比较知名的功能都有nodejs模块实现)。 但是我们为何要使用Node.Js?相比传统的webserver服务模式,nodejs有什么优点优势? Node.Js是基于javascript语言,建构在google V8 engine以及L...

2017-03-11 09:10:03

阅读数 407

评论数 0

事件驱动VS消息驱动

事件:按下鼠标,按下键盘,按下游戏手柄,将U盘插入USB接口,都将产生事件。比如说按下鼠标左键,将产生鼠标左键被按下的事件。 消息:当鼠标被按下,产生了鼠标按下事件,windows侦测到这一事件的发生,随即发出鼠标被按下的消息到消息队列中,这消息附带了一系列相关的事件信息,比如鼠标哪个键被按了...

2017-03-10 22:20:15

阅读数 2046

评论数 0

无锁队列的实现

关于无锁队列的实现,网上有很多文章,虽然本文可能和那些文章有所重复,但是我还是想以我自己的方式把这些文章中的重要的知识点串起来和大家讲一讲这个技术。下面开始正文。 关于CAS等原子操作 在开始说无锁队列之前,我们需要知道一个很重要的技术就是CAS操作——Compare & ...

2016-07-14 16:54:55

阅读数 1123

评论数 0

Nginx搭建反向代理服务器过程详解

一、反向代理:Web服务器的“经纪人” 1.1 反向代理初印象 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为...

2016-07-09 18:57:56

阅读数 1931

评论数 0

JAVA设计模式之原型模式

定义:用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象。 类型:创建类模式 类图: 原型模式主要用于对象的复制,它的核心是就是类图中的原型类Prototype。Prototype类需要具备以下两个条件: 实现Cloneable接口。在java语言有一个C...

2016-07-08 15:13:10

阅读数 682

评论数 0

JAVA设计模式之单例模式

本文继续介绍23种设计模式系列之单例模式。 概念:   java中单例模式是一种常见的设计模式,单例模式的写法有好几种,这里主要介绍三种:懒汉式单例、饿汉式单例、登记式单例。   单例模式有以下特点:   1、单例类只能有一个实例。   2、单例类必须自己创建自己的唯一实例。   3、单例类必...

2016-07-08 15:06:53

阅读数 548

评论数 0

http长连接和短连接

1. HTTP协议与TCP/IP协议的关系   HTTP的长连接和短连接本质上是TCP长连接和短连接。HTTP属于应用层协议,在传输层使用TCP协议,在网络层使用IP协议。IP协议主要解决网络路由和寻址问题,TCP协议主要解决如何在IP层之上可靠的传递数据包,使在网络上的另一端收到发端发出的...

2016-06-27 12:02:51

阅读数 576

评论数 0

IO设计模式:Reactor和Proactor对比

看到好文就是忍不住想转~~~ 平时接触的开源产品如Redis、ACE,事件模型都使用的Reactor模式;而同样做事件处理的Proactor,由于操作系统的原因,相关的开源产品也少;这里学习下其模型结构,重点对比下两者的异同点; 反应器Reactor Reactor模...

2016-06-21 11:16:50

阅读数 644

评论数 0

CAS原子操作实现无锁及性能分析

CAS原子操作实现无锁及性能分析   Author:Echo Chen(陈斌) Email:chenb19870707@gmail.com Blog:Blog.csdn.net/chen19870707 Date:Nov 13th, 2014 ...

2016-06-20 22:08:25

阅读数 574

评论数 0

C++反射机制的实现

Java中有天然的反射机制,因为Java本身就是半编译语言,很多东西可以在运行时来做,但是c++就不同了。要建立c++的反射机制,就需要登记每个类名与对象的对应关系。 1.前言 在实际的项目中,听到师兄说C++中用到了反射,出于好奇,就查阅相关资料,发现强大的C++本身并不支持反射,反而Jav...

2016-06-20 10:03:26

阅读数 14830

评论数 7

工厂模式与抽象工厂模式小览(二)

一、文章来由就等啦~~还记得工厂模式与抽象工厂模式小览(一)第一部吗?我们在第一部中,分别详细的描述了(1)简单工厂(2)工厂模式(3)抽象工厂模式,但是并没有描述他们之间的关系,也没有比较工厂模式和抽象工厂模式,这对难舍难分的好基友之间的异同点,这些工作我们在第二部中完成~二、工厂模式和简单工厂...

2015-09-19 19:37:58

阅读数 876

评论数 0

个人C++注释规范

好久没写博客了,最近都在做项目,在做项目的过程中遇到多种注释的问题,现在就理清一个注释规范,以后我就按照这个规范来注释~~养成好的注释习惯有助于提高代码的可读性 (注:每个人的习惯不同,可找到自己喜欢的注释风格)

2015-09-02 14:31:22

阅读数 1912

评论数 0

如何写软件设计文档

软件设计的不同模型:瀑布式、快速原型法以及迭代式 自从1968年提出“软件工程”概念以来,软件开发领域对于借鉴传统工程的原则、方法,以提高质量、降低成本的探索就从未停止过。而在这个过程中,提出了许多不同的软件开发模型,典型的有:瀑布式,快速原型法,以及迭代式开发等。 瀑布式模型 ...

2015-08-28 11:09:09

阅读数 1681

评论数 0

工厂模式与抽象工厂模式小览(一)

一、文章来由一天看完 hf设计模式 中的工厂模式,略微还有点消化不了,于是打算好好探究一下。其实不仅仅是这两个模式之间容易混淆,他们各自的定义也是挺绕的,下面我就仔细回过头翻书+查阅资料,重新捋一捋,研究一下这两个“工厂”。同时还是保持一个开放的心态,设计模式博大精深,很难一文以蔽之,于是《xx小...

2015-08-06 10:24:42

阅读数 1709

评论数 0

23种设计模式搞笑解释

本人很逗,也喜欢很逗的学习方式,看到这篇,毫不犹豫转了~~转自:http://blog.csdn.net/yuan22003/article/details/6709666 工厂模式, 工厂方法模式,单例模式, 外观(Facade)模式, 观察者(Observer)模式,桥接(Bridge)模...

2015-08-04 13:11:57

阅读数 1171

评论数 0

提示
确定要删除当前文章?
取消 删除