
设计模式
青峰
热爱编程,喜欢开源、分享。
展开
-
设计模式--6大原则--迪米特法则
迪米特法则(Law of emeter) 定义:一个对象应该对其他对象了解最少 迪米特法则的核心观念就是类间解耦,弱耦合,只有弱耦合了以后,类的复用性才可以提高。 形象一点的比喻类似于:监狱内的犯人是不应该跟外面的人接触的,当然或许会有探亲的。这里的监狱就是类,里面的犯人就是类内部的信息,而监狱里的狱警就相当于迪米特法则的执行者 举个例子 家人探望犯人转载 2013-09-09 15:47:58 · 953 阅读 · 0 评论 -
设计模式之6大原则
设计模式之6大原则 一、设计模式6大原则 名称 解释 0、单一职责原则(SRP) 就一个类而言,应该仅有一个引起它变化的原因。 一、"开放-封闭"原则(OCP) 在软件设计模式中,这种不能修改,但可以扩展的思想也是最重要的一种设计原则。即软件实体(类、模板、函数等等)应该可以扩展,但是不可修改。转载 2014-04-02 10:25:27 · 987 阅读 · 0 评论 -
设计模式原则
“单一职责原则告诉我们实现类要职责单一;里氏替换原则告诉我们不要破坏继承体系;依赖倒置原则告诉我们要面向接口编程;接口隔离原则告诉我们在设计接口的时候要精简单一;迪米特法则告诉我们要降低耦合。而开闭原则是总纲,他告诉我们要对扩展开放,对修改关闭。” 看了设计模式,最后看的总是感觉他们有很大的相似之处,就像是世界上万事万物都有其生存法则一样.仔细分析其实设计模式都是围绕一条主线来的。这转载 2014-04-02 10:23:55 · 1114 阅读 · 0 评论 -
软件架构设计之常用架构模式
1.分层架构:分层架构是使用最多的架构模式,通过分层使各个层的职责更加明确,通过定义的接口使各层之间通讯,上层使用下层提供的服务。分层分为:严格意义上的分层,一般意义的分层。严格意义的分层是n+1层使用n层的服务。而一般意义的分层是上层能够使用它下边所有层的服务。领域驱动设计的分层定义:UI层,UI控制层,服务层,领域层,基础设施层。 2.MVC架构:MVC架构相信做软件的都听说,主要是转载 2014-04-02 10:24:26 · 3391 阅读 · 0 评论 -
设计模式--6大原则--单一职责原则
单一职责原则(Single Responsibility Principle),简称SRP。 定义: There should never be more than one reason for a class to change. 应该有且仅有一个原因引起类的变更。 有时候,开发人员设计接口的时候会有些问题,比如用户的属性和用户的行为被放在一个接口中声明。这就造转载 2013-09-09 15:51:42 · 884 阅读 · 0 评论 -
设计模式--6大原则--里氏置换原则
里氏置换原则(Liskov Substitution Principle),简称LSP 定义: Functions that use pointers or references to base classes must be able to use objects of derived classes without knowing it. 所有引用基类的地方必须能够透明的使用转载 2013-09-09 15:51:45 · 912 阅读 · 1 评论 -
设计模式--6大原则--依赖倒置原则
依赖倒置原则(Dependence Inversion Principle),简称DIP 定义 High level modules should depend upon low level modules. Both should depend upon abstractions. Abstractions should not depend upon details. Detail转载 2013-09-09 15:49:18 · 846 阅读 · 0 评论 -
设计模式--6大原则--接口隔离原则
首先看看接口隔离原则的定义,有两种定义 第一种:Clients should not be forced to depend upon interfaces that they don't use.(客户端不应该强行以来它不需要的接口) 第二种:The dependency of one class to another one should depend on the smalles转载 2013-09-09 15:49:43 · 1256 阅读 · 0 评论 -
设计模式--6大原则--开闭原则
开闭原则(Open Closed Principle) 开闭原则的核心是:对扩展开放,对修改关闭 白话意思就是我们改变一个软件时(比如扩展其他功能),应该通过扩展的方式来达到软件的改变,而不应爱修改原有代码来实现变化 开闭原则算是前5中原则的一个抽象总结,前五种是开闭原则的一些具体实现,所以如果使用开闭原则,其实有点虚,因为它没有一个固定的模式,但是最终保证的是提高程序转载 2013-09-09 15:44:36 · 1320 阅读 · 0 评论 -
设计模式--单例模式
单例模式(Singleton Pattern) 定义:Ensure a class has only one instance, and provide a global point of access to it. (确保一个类只有一个实例,并且给这个实例提供全局访问) 即一个类只能实例化一个实例,外部可以访问这个实例的同时,外部依赖这个类的实例都是同一个实例。让构造函数的访问转载 2013-09-09 15:44:41 · 1060 阅读 · 0 评论 -
棋牌游戏服务器架构: 总体设计
首先要说明的是, 这个棋牌游戏的服务器架构参考了网狐棋牌的架构。网狐棋牌最令人印象深刻的是其稳定性和高网络负载。它的一份压力测试报告上指出:一台双核r的INTEL Xeon 2.8CPU加上2G内存和使用共享100M光纤的机子能够支持5000人同时在线游戏。 在研究其服务器框架后发现,它的网络部分确实是比较优化的。它主要采用了Windows提供的IO完成端口来实现其网络组件。本服转载 2015-04-23 13:59:59 · 8856 阅读 · 1 评论