随笔分类 - 架构设计
摘要:http://www.ruanyifeng.com/blog/2014/05/restful_api.html 网络应用程序,分为前端和后端两个部分。当前的发展趋势,就是前端设备层出不穷(手机、平板、桌面电脑、其他专用设备......)。 因此,必须有一种统一的机制,方便不同的前端设备与后端进行通信
阅读全文
摘要:协程是一种用户态的轻量级线程。 server的发展如下: IO密集型应用: 多进程->多线程->事件驱动->协程 CPU密集型应用:多进程-->多线程 如果说多进程对于多CPU,多线程对应多核CPU,那么事件驱动和协程则是在充分挖掘不断提高性能的单核CPU的潜力。 异步事件驱动模型中,把会导致阻塞的
阅读全文
摘要:http://blog.csdn.net/monkey_d_meng/article/details/6005764 http://www.uml.org.cn/oobject/200901203.asp http://blog.csdn.net/monkey_d_meng/article/deta
阅读全文
摘要:#ifndef COMPOSITE_H_#define COMPOSITE_H_#include <list>// 提供接口的抽象基类class Component {public: Component() {} virtual ~Component () {} /* 因为Component的每个子类无论是Leaf还是Composite都必须实现自己版本的 operation()函数,所以定义为纯虚函数。 */ // 纯虚函数只提供接口不提供默认实现 virtual void operation() = 0; /* 因为下面这几个函数只有Composite类才实现自己的版本, 而L
阅读全文
摘要:我们期待自己成为一个优秀的软件模型设计者,但是,要怎样做,又从哪里开始呢? 将下列原则应用到你的软件工程中,你会获得立杆见影的成果。 1. 人远比技术重要 你开发软件是为了供别人使用,没有人使用的软件只是没有意义的数据的集合而已。许多在软件方面很有成就的行家在他们事业的初期却表现平平,因为他们那时侯将主要精力都集中在技术上。显然,构件(components),EJB(Enterprise JavaBeans)和代理(agent)是很有趣的东西。但是对于用户来说,如果你设计的软件很难使用或者不能满足他们的需求,后台用再好的技术也于事无补。多花点时间到软件需求和设计一个使用户能很容易理解的界面上。
阅读全文
摘要:#ifndef DECORATOR_H_#define DECORATOR_H_#include "iostream"using namespace std;/* 接口的一致性:装饰对象的接口必须和他所装饰的Component的接口 是一致的。因此,所有的ConcreteDecorator类必须有一个公共的接口*/// 抽象基类定义一个对象接口,可为这个接口动态的添加职责class Component {public: Component() {} virtual ~Component() {} // 纯虚函数 virtual void operation() = 0;};
阅读全文