设计模式
文章平均质量分 69
xiaoqiu_net
学无先后,达者为师。
展开
-
管道模式
今天接触了管道模式,在这里总结一下自己的理解。不足之处请各位多多指教在软件中,我们会遇到三个词,就是流、管道和过滤器。我认为:流:数据管道:数据传输的通道(载体)过滤器:过滤掉在管道中不符合要求的数据原始数据经过管道传输到另一端产生最终数据。在生活中,好比 原水经过管道(一层层的过滤,沉淀、去杂质、消毒)到管道另一端形成了纯净水。在系统中,我们经常会根据业务逻辑对一原创 2016-07-28 16:06:27 · 3991 阅读 · 0 评论 -
装饰模式
装饰模式:动态给的类添加新的功能。通常给类添加功能,是通过继承的方式实现,但如果需求多了,写的子类就太多了,会出现“子类爆炸”问题。如:new PhoneCover(new PhoneSticker(new xxx...(stick)));一层层包装。C#代码示例:namespace 装饰模式Decorator{ class Program { s原创 2016-09-08 22:43:12 · 239 阅读 · 1 评论 -
建造者模式
namespace 建造者模式{ /* 建造者模式:将一个复杂对象的构建与它的表示分离,使得同样的构造过程可以创建不同的表示*/ class Program { static void Main(string[] args) { ConcreteBuilder builder = new ConcreteBuilde原创 2016-09-11 15:58:57 · 264 阅读 · 0 评论 -
单例模式
单例模式:保证类的实例的唯一,并提供一个访问他的全局访问点. 场景:1.在winform我们只让指定窗体打开一次。(如windows任务管理器)2.打印机可以存在多个任务,但一次只能处理一个任务。3.一个系统只能有一个单号生成器。为什么要使用单例这样模式?比如打开多个windows任务管理器,那么他显示的都是系统的进程,都是一样的,内容一直,对象完全重复,浪费内存资源。原创 2016-08-26 11:44:13 · 248 阅读 · 0 评论 -
工厂模式
工厂模式,一种抽象程序设计思想,面向接口(抽象)编程,降低模块间的耦合度、使程序有更好的扩展性,灵活变化。开发程序的一种思想:“模块内高内聚,模块间低耦合”。这里简单总结一下自己了解到的抽象工厂。在我们最初接触到的三层架构,三层是紧紧的强耦合在一起的,UI->BLL->DAL,如: public AccountDAO dao; public Accou原创 2016-09-05 22:40:20 · 333 阅读 · 0 评论 -
观察者模式
观察者模式:定义了一种一对多的依赖关系,一个对象的行为引发多个对象的行为.让多个观察者绑定一个通知者。当通知者的状态发生变化时候,会通知所有注册到通知者里面的观察者,使他们能够自动更新自己。它是行为模式的一种,解决了具有一对多依赖关系的对象的重用问题。以Socket通信为例,多个客户端绑定服务器IP和端口,注册到服务端中,那么服务器端与客户端就是一对多的关系。(观察者和通知者互相依赖)原创 2016-09-08 15:03:16 · 349 阅读 · 0 评论 -
面向对象,设计模式进一步理解
设计模式,是前人总结的经验,在不同的场景里解决不同的问题,所以不应该“简单”的复制,不应该为了模式而模式,应该是灵活应用的。看了网上很多讲设计模式的,还有不少书籍也有,开始看的时候看不懂,再学了面向对象之后,发现那些例子(猫啊狗啊)什么的都可以看懂,但是,在具体的项目里面并不知道怎么去使用。所有的代码因项目而异,设计模式的那些套路,不一定适合你。之所以看不懂,是因为记那些概念太多了,还有就是代码量...原创 2018-04-16 15:15:07 · 1413 阅读 · 0 评论