随笔分类 - 设计模式
设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样。
摘要:原型模式原型模式(ProtoType),用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。原型模式其实就是从一个对象再创建另外一个可指定的对象,而且不需要知道任何创建细节。(ProtoType)this.MemberwiseClone();解释:创建当前对象的浅表副本。方法是创建一个新对象,让后将当前对象的非静态字段复制到该新对象。如果字段是值类型的,则该对象进行逐位复制,如果字段是引用类型,则该对象进行对象引用,但不负责引用的对象;因此原始对象与副本引用是同一个引用对象。
阅读全文
摘要:一、工厂方法模式简介工厂方法(Factory Method):工厂方法模式,定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂方法使一个类的实例化延迟到其子类。二、工厂方法的角色结构抽象工厂(Creator)角色:是工厂方法模式的核心,与应用程序无关。任何在模式中创建的对象的工厂类必须实现这个接口。具体工厂(Concrete Creator)角色:这是实现抽象工厂接口的具体工厂类,包含与应用程序密切相关的逻辑,并且受到应用程序调用以创建产品对象。工厂方法模式是简单工厂模式的进一步抽象和推广。由于使用了多态性,工厂方法模式保持了简单工厂模式的优点,而且克服了它的缺点。在工厂方法模式中,核
阅读全文
摘要:代理概念可以解释为:在出发点到目的地之间有一道中间层,意为代理.设计模式中的定义:为其他对象提供一种代理以控制对这个对象的访问.结构图为什么要使用Proxy?1.授权机制 不同级别的用户对同一对象拥有不同的访问权限,如Jive论坛系统中,就使用Proxy进行授权机制控制,访问论坛有两种人:注册用户和游客(未注册用户),Jive中就通过类似ForumProxy这样的代理来控制这两种用户对论坛的访问权限.2.某个客户端不能直接操作到某个对象,但又必须和那个对象有所互动.举例两个具体情况: (1)如果那个对象是一个是很大的图片,需要花费很长时间才能显示出来,那么当这个图片包含在文档中时,使用编辑器或
阅读全文
摘要:装饰者模式(Decorator)http://s.click.taobao.com/t_8?e=7HZ5x%2BOzdswsVvyc5Jts79Au1Q%3D%3D&p=mm_24156262_0_01.装饰模式是动态的给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活。2.装饰模式是把已功能动态的添加更多功能的一种方式。详细:Decorator装饰模式是一种结构型模式,它主要是解决:“过度地使用了继承来扩展对象的功能”,由于继承为类型引入的静态特质,使得这种扩展方式缺乏灵活性;并且随着子类的增多(扩展功能的增多),各种子类的组合(扩展功能的组合)会导致更多子类的
阅读全文
摘要:模式设计的记录文档1. 设计模式的好处设计模式使得程序更加的灵活,容易修改,并且易于复用。我们可以通过封装,继承,多态把程序的耦合度降低。面向对象编程的思想是可维护,可复用,可扩展。聚合关系(Aggregate):集合表示一种弱的‘拥有’关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分【DPF】合成(Composition)是一种强的‘拥有’关系,体现了严格的部分和整体的关系,部分和整体的生命周期一样。2. 简单工厂模式简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例, 简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类(这些产品类继承自一个父.
阅读全文
摘要:简单工厂模式基本简介 从设计模式的类型上来说,简单工厂模式是属于创建型模式,又叫做静态工厂方法(StaticFactory Method)模式,但不属于23种GOF设计模式之一。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例,专门用来创建实例的。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现。 简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类(这些产品类继承自一个父类或接口)的实例。 该模式中包含的角色及其职责 工厂(Creator)角色 简单工厂模式的核心,它负责实现创建所有实例的内部逻辑。工厂类
阅读全文

浙公网安备 33010602011771号