设计模式

[知乎]为什么要用IOC容器替代New

[知乎]为什么要用IOC容器替代New

William 12个月前 (12-01) 1124浏览 0评论

觉得以下解释能让人理解为什么要用IOC容器替代New,便引用别人的问答过来了。在看这一篇之前,建议先看看这几篇: [木小楠]深入理解DIP、IoC、DI以及IoC容器前言 [木小楠]依赖倒置原则(DIP) [木小楠]控制反转(IoC) [木小楠]依...

[木小楠]IoC容器

[木小楠]IoC容器

William 12个月前 (12-01) 1077浏览 0评论

目录 [木小楠]深入理解DIP、IoC、DI以及IoC容器前言 [木小楠]依赖倒置原则(DIP) [木小楠]控制反转(IoC) [木小楠]依赖注入(DI) [木小楠]IoC容器 注意:请从第一篇开始阅读,以便整体的了解全部内容。 前面所有的例子...

[木小楠]依赖注入(DI)

[木小楠]依赖注入(DI)

William 12个月前 (12-01) 996浏览 0评论

目录 [木小楠]深入理解DIP、IoC、DI以及IoC容器前言 [木小楠]依赖倒置原则(DIP) [木小楠]控制反转(IoC) [木小楠]依赖注入(DI) [木小楠]IoC容器 注意:请从第一篇开始阅读,以便整体的了解全部内容。 控制反转(Io...

[木小楠]控制反转(IoC)

[木小楠]控制反转(IoC)

William 12个月前 (12-01) 1020浏览 0评论

目录 [木小楠]深入理解DIP、IoC、DI以及IoC容器前言 [木小楠]依赖倒置原则(DIP) [木小楠]控制反转(IoC) [木小楠]依赖注入(DI) [木小楠]IoC容器 注意:请从第一篇开始阅读,以便整体的了解全部内容。 DIP是一种 ...

[木小楠]依赖倒置原则(DIP)

[木小楠]依赖倒置原则(DIP)

William 12个月前 (12-01) 968浏览 0评论

目录 [木小楠]深入理解DIP、IoC、DI以及IoC容器前言 [木小楠]依赖倒置原则(DIP) [木小楠]控制反转(IoC) [木小楠]依赖注入(DI) [木小楠]IoC容器 注意:请从第一篇开始阅读,以便整体的了解全部内容。 在讲概念之前,...

[木小楠]深入理解DIP、IoC、DI以及IoC容器前言

[木小楠]深入理解DIP、IoC、DI以及IoC容器前言

William 12个月前 (12-01) 937浏览 0评论

[木小楠]深入理解DIP、IoC、DI以及IoC容器是一篇不错的设计模式概念识别文章,特此推荐! 摘要 面向对象设计(OOD)有助于我们开发出高性能、易扩展以及易复用的程序。其中,OOD有一个重要的思想那就是依赖倒置原则(DIP),并由此引申出IoC...

Asp.net设计模式之模板方法模式(Template Method)

Asp.net设计模式之模板方法模式(Template Method)

William 1年前 (2017-07-30) 1241浏览 2评论

一、引言 提到模板,大家肯定不免想到生活中的“简历模板”、“论文模板”、“Word中模版文件”等,在现实生活中,模板的概念就是——有一个规定的格式,然后每个人都可以根据自己的需求或情况去更新它,例如简历模板,下载下来的简历模板的格式都是相同的,然而我...

Asp.net设计模式之享元模式(Flyweight Pattern)

Asp.net设计模式之享元模式(Flyweight Pattern)

William 1年前 (2017-07-28) 1062浏览 0评论

一、引言 在软件开发过程,如果我们需要重复使用某个对象的时候,如果我们重复地使用new创建这个对象的话,这样我们在内存就需要多次地去申请内存空间了,这样可能会出现内存使用越来越多的情况,这样的问题是非常严重,然而享元模式可以解决这个问题,下面具体看看...

Asp.net设计模式之外观模式(Facade Pattern)[又名:门面模式]

Asp.net设计模式之外观模式(Facade Pattern)[又名:门面模式]

William 1年前 (2017-07-27) 1049浏览 0评论

一、引言 在软件开发过程中,客户端程序经常会与复杂系统的内部子系统进行耦合,从而导致客户端程序随着子系统的变化而变化,然而为了将复杂系统的内部子系统与客户端之间的依赖解耦,从而就有了外观模式,也称作 ”门面“模式。下面就具体介绍下外观模式(门面模式)...

Asp.net设计模式之组合模式(Composite Pattern)

Asp.net设计模式之组合模式(Composite Pattern)

William 1年前 (2017-07-26) 1099浏览 0评论

一、引言 在软件开发过程中,我们经常会遇到处理简单对象和复合对象的情况,例如对操作系统中目录的处理就是这样的一个例子,因为目录可以包括单独的文件,也可以包括文件夹,文件夹又是由文件组成的,由于简单对象和复合对象在功能上区别,导致在操作过程中必须区分简...

Asp.net设计模式之装饰者模式(Decorator Pattern)

Asp.net设计模式之装饰者模式(Decorator Pattern)

William 1年前 (2017-07-25) 1111浏览 0评论

一、引言 在软件开发中,我们经常想要对一类对象添加不同的功能,例如要给手机添加贴膜,手机挂件,手机外壳等,如果此时利用继承来实现的话,就需要定义无数的类,如StickerPhone(贴膜是手机类)、AccessoriesPhone(挂件手机类)等,这...

Asp.net设计模式之桥接模式(Bridge Pattern Pattern)

Asp.net设计模式之桥接模式(Bridge Pattern Pattern)

William 1年前 (2017-07-25) 1159浏览 2评论

一、引言 这里以电视遥控器的一个例子来引出桥接模式解决的问题,首先,我们每个牌子的电视机都有一个遥控器,此时我们能想到的一个设计是——把遥控器做为一个抽象类,抽象类中提供遥控器的所有实现,其他具体电视品牌的遥控器都继承这个抽象类,具体设计类图如下: ...

Asp.net设计模式之适配器模式(Adapter Pattern)

Asp.net设计模式之适配器模式(Adapter Pattern)

William 1年前 (2017-07-24) 906浏览 0评论

一、引言 在实际的开发过程中,由于应用环境的变化(例如使用语言的变化),我们需要的实现在新的环境中没有现存对象可以满足,但是其他环境却存在这样现存的对象。那么如果将“将现存的对象”在新的环境中进行调用呢?解决这个问题的办法就是我们本文要介绍的适配器模...

Asp.net设计模式之建造者模式(Builder Pattern )[又名:生成器模式]

Asp.net设计模式之建造者模式(Builder Pattern )[又名:生成器模式]

William 1年前 (2017-07-23) 1608浏览 5评论

一、引言 在软件系统中,有时需要创建一个复杂对象,并且这个复杂对象由其各部分子对象通过一定的步骤组合而成。例如一个采购系统中,如果需要采购员去采购一批电脑时,在这个实际需求中,电脑就是一个复杂的对象,它是由CPU、主板、硬盘、显卡、机箱等组装而成的,...

Asp.net设计模式之原型模式(Prototype Pattern)

Asp.net设计模式之原型模式(Prototype Pattern)

William 1年前 (2017-07-23) 954浏览 0评论

一、引言 在软件系统中,当创建一个类的实例的过程很昂贵或很复杂,并且我们需要创建多个这样类的实例时,如果我们用new操作符去创建这样的类实例,这未免会增加创建类的复杂度和耗费更多的内存空间,因为这样在内存中分配了多个一样的类实例对象,然后如果采用工厂...

设计模式之抽象工厂模式(Abstract Factory Pattern) 与工厂方法模式(Factory Method Pattern)区别

设计模式之抽象工厂模式(Abstract Factory Pattern) 与工厂方法模式(Factory Method Pattern)区别

William 1年前 (2017-07-23) 1096浏览 0评论

首先来看看这两者的定义区别: 工厂模式:定义一个用于创建对象的借口,让子类决定实例化哪一个类 抽象工厂模式:为创建一组相关或相互依赖的对象提供一个接口,而且无需指定他们的具体类 个人觉得这个区别在于产品,如果产品单一,最合适用工厂模式,但是如果有多个...