随笔分类 - DesignPatterns
信息系统设计速查表
摘要:信息系统设计速查表需求收集功能性需求:通过用户访谈、问卷调查和市场分析来确定系统必须实现的功能。 非功能性需求:定义性能基准(如响应时间)、安全性要求(如数据加密标准,传输加密)、可靠性标准(如系统的正常运行时间, MTTR)。 用户故事:使用敏捷方法论,如Scrum,来创建和优先级排序用户故事。
阅读全文
12-Factor与云原生
摘要:12-Factor与云原生云原生应用今天先到这儿,希望对技术领导力, 企业管理,系统架构设计与评估,团队管理, 项目管理, 产品管理,团队建设 有参考作用 , 您可能感兴趣的文章: 精益IT组织与分享式领导领导人怎样带领好团队构建创业公司突击小团队国际化环境下系统架构演化微服务架构设计视频直播平台的系统架构演化微服务与Docker介绍Docker与CI持续集成/CD互联网电商购物车架构演变案例互联...
阅读全文
消费者驱动的契约Consumer drivern Contract
摘要:消费者驱动的契约Consumer Driven Contracts (CDC)A contract between a consuming service and a providing service, stating what the consumer wants from a providing service, in a defined format. CDC有那么些特点:在启动阶...
阅读全文
CQRS(Command and Query Responsibility Segregation)与EventSources实例
摘要:CQRS The CQRS pattern and event sourcing are not mere simplistic solutions to the problems associated with large-scale, distributed systems. 从1000万用户并发修改用户资料的假设场景开始每次修改操作耗时200ms,每秒5个操作MySQL连接数在5K...
阅读全文
关于系统设计原则回顾
摘要:最近有人问我 系统设计的原则,事实上不论今天各个技术栈怎么演化,那些本质的原则与方法不会变, 让我们回顾一下 这些原则:•分散关注 Separation of concerns. Divide your application into distinct features with as little overlap in functionality as possible. The i...
阅读全文
忙信号模式介绍
摘要:在阅读本文前,您需要了解云计算与互联网开发基础知识。[忙信号模式]是专注应用程序对当云服务请求响应不成功时忙信号如何处理。这种模式从客户端角度出发,这里主要描述的云计算中场景。客户端是每发出请求到服务端,服务端答复忙信号。客户端负责根据忙信号做出适当数量的重试次数处理。如果重试过程中继续收到忙信号,客户端将该服务视为不可用。我们偶尔地拨号电话结果是忙信号,正常的反应需要重拨,这时通...
阅读全文
Database数据库切片模式
摘要:数据库切片模式关注的实现水平伸缩。切分是从单个数据库到平分数据访问两个或更多数据库切片。每个切片有和原始数据库相同的Schema。大多数据分布在每个切片每一行。从切片合并起来的数据和原始数据库一样。切片也被近似等同于水平分区(Horizontal Partitioning),网上很多地方也用水平分区来指代切片,二者之间实际上还是有区别的。的确,切片 的思想是从分区的思想而来,但数据库分区...
阅读全文
集中队列的模式
摘要:在阅读本文前,假设您对数据结构有一定认识.集中队列的模式是基本松耦合思想实现用户从界面提交命令请求到后端服务异步处理的方式.这个模式是CQRS模式的子集.这个模式用于允许用户交互式处理更新,甚至在Web服务器运行慢下.这是一个异步模型,发送者不需要为一个响应而等待.有助于用户界面保持一致快速响应. 这种模式通常应用于Web应用程序通讯,Web层与服务层之间解耦.这种方...
阅读全文
用.net4中的DynamicObject实现简单AOP
摘要:在.net framework 4中有一个DynamicObject 类型,我们通过重写 TryInvokeMember 方法实现简单的AOP。首先看类图: 看下面的代码: public class DynamicWrapper : DynamicObject { private readonly object source; public DynamicWrapper(object sourc...
阅读全文
.net4.0下的Lazy<T>类型简单应用
摘要:.net framework为我们提供了一个Lazy<T> 类型,给我们开发带来很多便利,看如下的代码,有这样一个Class做示例: 1: public class Person 2: { 3: public int Age { get; set; } 4: 5: public Person() 6: { 7: Age = 1; 8: Console.WriteLine("Created"); ...
阅读全文
Repository Factory介绍
摘要:Repository Factory是的Micrsoft Patterns and practies Team在前几年出的一个代码生成组件,主要生成基于Enlib DAAB的DataAccessLayer和Business Entity. 主要适用于VS2005,VS2008。从官方下载RepositoryFactoryForVS2008.msi,安装后,在Tools菜单将有一个选项Guidanc...
阅读全文
使用EnterpriseLibrary的PIAB与Unity搭建简单AOP框架
摘要:首先声明,Enterprise Library v5.0已发布了,此处的DEMO是基于Enterprise Library v4.1这个版本. 差别并不太多了.Enterprise Library 提供了图形的化配置工具,让我们免去写XML的配置文件.我们可以用policy injection application block和Unity搭建一个简单的AOP框架,而你不用写一句代码. AOP框架...
阅读全文
Builder模式与Fluent接口
摘要:我们首先回故下Builder模式的意图: 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。[DP]那我们C#中switch语句块,从一个层面上来看,就是由几部分组成的,我们来实现一个SwitchBuilder类具有这种功能.那什么是Fluent接口,可以先看这儿wiki. 有的时候我们需要Enum类型处理复杂的类型,有一个描述字段,或还有更多其它的字段信息.我们创建一个使...
阅读全文
dotnet3.5下Singleton辅助类实现
摘要:经常要用到Singleton模式,通常情况下我们是为那个类写一个static method来创建对象。.net3.5下,可以封装这么一个辅助类, 看代码如下: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> 1 #region S...
阅读全文
Abstract Factory与Unity结合
摘要:采用短信示例场景,SGIP,CMPP是联通与移动协议,对应它们有自己的配置文件。ISmsProvider为所有协议接口,IConfig 配置文件接口。通过在配置文件中配置工厂,在Unity中实现Client类构造函数自动注入。 /// /// Interface for Factory /// /// author Louis Liu http:/...
阅读全文
Common Service Locator的Unity适配器
摘要:Common Service Locator介绍
Common Service Locator 类库包含应用程序和框架开发者引用Service location共享的接口。这个类库提供了在IOC容器和Service locators之上抽象。使用这个类库允许一个应用程序在没有强引用依赖下间接的访问的能力。期望用这个类库,第三方应用程序和框架开始利用IOC/Service location改变在没有绑定他们到一个具体的实现。
这个项目包括所有验证过locator功能需求的具体实现测试套件。另外,在未来日子里项目中将包含几个流行IOC容器适配器程序。
阅读全文
ASP.NET中的Provider模式
摘要:ASP.NET中的Provider模式
Provider Pattern 实现接口与具体实现的分离,通过配制文件灵活配制需要的具体实现。
阅读全文