自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 收藏
  • 关注

转载 ubuntu下安装mysql

一、安装ubuntu通过虚拟机oracle vm virtualbox软件安装ubuntu14.04即可。网络设置选择的是网络地址转换(nat),这种方式不需要设置网络地址,自动获取即可。但为了方便开发,我们要为虚拟机ubuntu设置固定ip,所以网络设置我们选择桥接网卡,并在界面名称下选择合适的网卡。然后在启动ubuntu之后,设置固定ip.除此之外有两个小问题...

2017-04-21 00:28:00 64

转载 23种设计模式之原型模式(Prototype)

在系统开发过程中,有时候有些对象需要被频繁创建,原型模式通过给出一个原型对象来指明所要创建的对象的类型,然后通过复制这个原型对象的办法,创建出更多同类型的对象。原型模式是一种对象创建型模式,用原型实例制定创建对象的种类,并且通过复制这些原型创建新的对象。原型模式又可分为两种:浅克隆和深克隆。浅克隆仅仅复制所考虑的对象,而不复制它所引用的对象,也就是其中的成员对象并不复制;深克隆除了对象本...

2017-04-10 16:05:00 63

转载 23种设计模式之策略模式(Strategy)

策略模式是一种对象的行为型模式,定义一系列算法,并将每一个算法封装起来,并让它们可以相互替换。策略模式比算法独立于使用它的客户而变化,其目的是将行为和环境分隔,当出现新的行为时,只需要实现新的策略类。优点:1)另一种子类化方法。2)在类自身中定义了每一个行为,这样就减少了条件语句。3)更容易扩展模型。在不对应用程序进行代码修改的情况下,使该模式具有新的行为。使用场景:...

2017-04-10 16:04:00 106

转载 23种设计模式之访问者模式(Visitor)

访问者模式是一种对象的行为性模式,用于表示一个作用于某对象结构中的各元素的操作,它使得用户可以再不改变各元素的类的前提下定义作用于这些元素的新操作。访问者模式使得增加新的操作变得很容易,但在一定程度上破坏了封装性。优点:1)更容易添加新操作。2)集中相关操作并且排除不相关操作。使用场景:1)对象结构包含许多具有不同接口的对象类,并且向要对这些依赖于具体类的对象进...

2017-04-10 16:04:00 81

转载 23种设计模式之模板方法(Template Method)

模板方法模式是一种类的行为型模式,用于定义一个操作中算法的骨架,而将一些步骤延迟到子类中。模板方法模式使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤,其缺点是对于不同的实现,都需要定义一个子类,这会导致类得个数增加,但是更加符合类职责的分配原则,使得类得内聚性得以提高。优点:代码重用的基础技术使用场景:1)想要一次实现算法的不变部分,而使用子类实现算法的可变行...

2017-04-10 16:03:00 54

转载 23种设计模式之状态模式(State)

状态模式是一种对象的行为型模式,允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它的类。状态模式封装了状态的转换过程,但是它需要枚举可能的状态,因此,需要事先确定状态种类,这也导致在状态模式中增加新的状态类时将违反开闭原则,新的状态类的引入将需要修改与之能够进行转换的其他状态类的代码。状态模式的使用必然会增加系统类和对象的个数。优点:定位指定状态的行为,并且针对不同状...

2017-04-10 16:00:00 50

转载 23种设计模式之观察者模式(Observer)

观察者模式又称为发布—订阅模式、模型—视图模式、源-监听器模式或从属者(dependents)模式,是一种对象的行为型模式。它定义了对象之间的一种一对多的依赖关系,使得每当一个对象状态发生改变时,其相关依赖对象都得到通知并被自动更新。观察者模式的优点在于实现了表示层和数据层的分离,并定义了稳定的更新消息传递机制,类别清晰,抽象了更新接口,使得相同的数据层可以有各种不同的表示层。优点:...

2017-04-10 15:59:00 83

转载 23种设计模式之备忘录模式(Memento)

备忘录模式确保在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样可以在以后将对象恢复到原先保存的状态。备忘录模式提供了一种状态恢复的实现机制,使得用户可以方便地回到一个特定的历史步骤。优点:1)保持封装的完整。2)简化了返回到初始状态所需的操作。使用场景:1)必须保存对象状态的快照,这样以后就可以恢复状态。2)使用直接接口来获得状态可能...

2017-04-10 15:58:00 53

转载 23种设计模式之迭代器模式(Iterator)

迭代器模式是一种对象的行为型模式,提供了一种方法来访问聚合对象,而不用暴露这个对象的内部表示。迭代器模式支持以不同的方式遍历一个聚合对象,复杂的聚合可用多种方法来进行遍历;允许在同一个聚合上可以有多个遍历,每个迭代器保持它自己的遍历状态,因此,可以同时进行多个遍历操作。优点:1)支持集合的不同遍历。2)简化了集合的接口。使用场景:1)在不开发集合对象内部表示的前提下,...

2017-04-10 15:57:00 76

转载 23种设计模式之中介者模式(Mediator)

中介者模式是一种对象的行为型模式,通过一个中介对象来封装一系列的对象交互。中介者使得各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。中介者对象的存在保证了对象结构上的稳定,也就是说,系统的结构不会因为新对象的引入带来大量的修改工作。优点:1)去除对象间的影响。2)简化了对象间协议。3)集中化了控制。4)由于不再需要直接互传消息,单个...

2017-04-10 15:57:00 45

转载 23种设计模式之解释器模式(Interpreter)

解释器模式属于类的行为型模式,描述了如何为语言定义一个文法,如何在该语言中表示一个句子,以及如何解释这些句子,这里的“语言”是使用规定格式和语法的代码。解释器模式主要用在编译器中,在应用系统开发中很少用到。优点:1)容易修改并扩展语法。2)更容易实现语法。使用场景:1)语言的语法比较简单。2)效率并不是最主要的问题。Interpreter 模式转载于:...

2017-04-10 15:56:00 49

转载 23种设计模式之命令模式(Command)

命令模式是一种对象的行为型模式,类似于传统程序设计方法中的回调机制,它将一个请求封装为一个对象,从而使得可用不同的请求对客户进行参数化;对请求排队或者记录请求日志,以及支持可撤销的操作。命令模式是对命令的封装,将发出命令的责任和执行命令的责任分割开,委派给不同的对象,以实现发送者和接收者完全解耦,提供更大的灵活性和可扩展性。优点:1)将调用操作的对象与知道如何完成该操作的对象相分...

2017-04-10 15:53:00 98

转载 23种设计模式之责任链模式(Chain of Responsibility)

责任链模式是一种对象的行为型模式,避免请求发送者与接收者耦合在一起,让多个对象都有可能接收请求,将这些对象连接成一条链,并且沿着这条链传递请求,直到有对象处理它为止。责任链模式不保证每个请求都被接受,由于一个请求没有明确的接收者,那么就不能保证它一定会被处理。优点:1)降低了耦合度。2)增加向对象指定责任的灵活性。3)由于在一个类中产生的事件可以被发送到组成中的其它类处理...

2017-04-10 15:51:00 61

转载 23种设计模式之享元模式(FlyWeight)

享元模式是一种对象结构型模式,通过运用共享技术,有效地支持大量细粒度的对象。系统只使用少量的对象,而这些对象都很相似,状态变化很小,对象使用次数增多。享元对象能做到共享的关键是区分内部状态和外部状态。内部状态存储在享元对象内部并且不会随坏境改变而改变,因此内部状态可以共享;外部状态时随环境改变而改变的、不可以共享的状态,享元对象的外部状态必须由客户端保存,并在享元对象被创建之后,在需要使...

2017-04-10 15:48:00 55

转载 23种设计模式之代理模式(Proxy)

代理模式是一种对象结构型模式,可为某个对象提供一个代理,并由代理对象控制对原对象的引用。代理模式能够协调调用者和被调用者,能够在一定程度上降低系统的耦合度,其缺点是请求的处理速度会变慢,并且实现代理模式需要额外的工作。优点:1)远程代理可以隐藏对象位于不同的地址空间的事实。2)虚拟代理可以执行优化操作,例如根据需要创建一个对象。使用场景:需要比简单的指针更灵活、更全面的对...

2017-04-10 15:48:00 70

转载 23种设计模式之组合模式(Composite)

组合模式又称为整体-部分(Part-whole)模式,属于对象的结构模式。在组合模式中,通过组合多个对象形成树形结构以表示整体-部分的结构层次。组合模式对单个对象(即叶子对象)和组合对象(即容器对象)的使用具有一致性。优点:1)定义了由主要对象和复合对象组成的类层次结构2)使得添加新的组件类型更加简单。3)提供了结构的灵活性和可管理的接口。使用场景:1)想要表示对...

2017-04-10 15:47:00 89

转载 23种设计模式之外观模式(Facade)

外观模式是对象的结构模式,要求外部与一个子系统的通信必须通过一个统一的外观对象进行,为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。优点:1)在不减少系统所提供的选项的情况下,为复杂系统提供了简单接口。2)对客户端屏蔽了系统组件。3)提高了子系统与其客户端之间的弱耦合度。4)如果每一个子系统使用自身的Facade...

2017-04-10 15:47:00 55

转载 23种设计模式之装饰模式(Decorator)

装饰模式是一种对象结构型模式,可动态地给一个对象增加一些额外的职责,就增加对象功能来说,装饰模式比生成子类实现更为灵活。通过装饰模式,可以在不影响其他对象的情况下,以动态、透明的方式给单个对象添加职责;当需要动态地给一个对象增加功能,这些功能可以再动态地被撤销时可使用装饰模式;当不能采用生成子类的方法进行扩充时也可使用装饰模式。优点:1)比静态继承具有更大的灵活性。2)避免了...

2017-04-10 15:45:00 55

转载 23种设计模式之桥接模式(Bridge)

桥接模式将抽象部分与它的实现部分分离,使它们都可以独立地变化。它是一种对象结构型模式,又称为柄体(Handle and Body)模式或接口(Interface)模式。桥接模式类似于多重继承方案,但是多重继承方案往往违背了类得单一职责原则,其复用性比较差,桥接模式是比多重继承方案更好的解决方法。优点:1)可以将接口与实现相分离。2)提高了可扩展性。3)对客户端隐藏了实现的...

2017-04-10 15:43:00 76

转载 23种设计模式之适配器模式(Adapter)

适配器模式将一个接口转换成客户希望的另一个接口,从而使接口不兼容的那些类可以一起工作。适配器模式既可以作为类结构型模式,也可以作为对象结构型模式。在类适配器模式中,通过使用一个具体类将适配者适配到目标接口中;在对象适配器模式中,一个适配器可以将多个不同的适配者适配到同一个目标。/// <summary> /// 圆形类 /// </summar...

2017-04-10 15:42:00 53

转载 23种设计模式之建造者模式(Builder)

建造者模式强调将一个复杂对象的创建与它的表示分离,使得同样的构建过程可以创建不同的表示。建造者模式是一步一步地创建一个复杂的对象,它允许用户只通过制定复杂对象的类型和内容就可以构建它们,用户不需要知道内部的具体构建细节。建造者模式属于对象创建型模式。public abstract class Builder { public abstract void Mak...

2017-04-10 15:41:00 49

转载 23种设计模式之单例模式(Singleton)

单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,这个类称为单例类,它提供全局访问的方法。public class SingleTon { private static SingleTon singleTon = null;//声明并初始化为null public SingleTon() { ...

2017-04-10 15:39:00 51

转载 23种设计模式之抽象工厂(Abstract Factory)

抽象工厂模式又称为Kit模式,属于对象创建型模式。抽象工厂模式是所有形式的工厂模式中最为抽象和最具一般性的一种形态,它提供了一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。在抽象工厂模式中,引入了产品等级结构和产品族的概念,产品等级结构是指抽象产品与具体产品所构成的继承层次关系,产品族是同一个工厂所生产的一系列产品,即位于不同产品等级结构且功能相关联的产品组成的家族。当抽...

2017-04-10 15:38:00 53

转载 23种设计模式之工厂方法

工厂方法模式又称为虚拟构造器(Virtual Constructor)模式,属于类的创建型模式。在工厂方法模式中,父类负责定义创建对象的公共接口,而子类则负责生成具体的对象,这样做的目的是将类的实例化操作延迟到子类中完成,即由子类来决定究竟应该实例化(创建)哪一个类。Factory Method转载于:https://www.cnblogs.com/guwei4037/p/...

2017-04-10 15:37:00 46

转载 面向对象的原则

综述 对于OO系统的设计而言,在支持可维护性的同时,提高系统的可复用性是一个至关重要的问题,如何同时提高系统的可维护性和可复用性,是OOD需要解决的核心问题之一。在OOD中,可维护性的复用是以设计原则为基础的。常用的OOD原则包括开闭原则、里氏替换原则、依赖倒置原则、组合/聚合复用原则、接口隔离原则和最少知识原则等。这些设计原则首先都是面向复用的原则,遵循这些设计原则可...

2017-04-10 15:36:00 68

转载 SOA面向服务的架构

1、关于SOA的定义,目前主要有以下三个:1)W3C的定义:SOA是一种应用程序架构,在这种架构中,所有功能都定义为独立的服务,这些服务带有定义明确的可调用接口,能够以定义好的顺序调用这些服务来形成业务流程。2)Service-architecture.com的定义:服务是精确定义、封装完善、独立于其他服务所处环境和状态的函数。SOA本质上是服务的集合,服务之间彼此通信,这种通信...

2017-04-10 15:35:00 96

转载 asp.net 实现pdf、swf等文档的浏览

一、pdf的浏览可以借助于pdf.js插件完成,使用pdf.js的好处是不需要安装额外的插件(比如flash),是纯web的解决方案。插件的下载链接:http://mozilla.github.io/pdf.js/。通过pdf.js里面的示例代码可以看出,实际上浏览pdf文档是通过viewer.html实现的。在链接后面通过传入file参数,实现不同文档的浏览。比如如下的链接:...

2017-04-10 10:17:00 289

转载 VS NuGet加载本地程序包

NuGet是VS中非常实用的一个工具,我们可以通过它在线安装想要的程序包,只要右键点击解决方案中的项目的引用,在弹出的菜单中选择“管理NuGet程序包”,然后就可以通过在线搜索找到想要添加的程序包,下载安装即可。NuGet会帮助我们自动添加相应的dll引用,修改config相应配置,非常方便的一个工具。但有时候我们网络会出现问题,导致在线浏览不了程序包,这时候我们可以通过下载nupkg文...

2017-04-06 11:48:00 561

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除