随笔分类 - 设计模式
摘要:如果需要开发新产品(这里 芬达) 调用的时候:
阅读全文
摘要:关于 控制反转 (Inversion of Control)和 依赖注入 (Dependency Injection)大家网上可以找下相关概念,在 "《小菜学习设计模式(五)—控制反转(Ioc)》" 这篇文章中本人也有详细的解释,这边再说明下,有很多人把控制反转和依赖注入混为一谈,虽然在某种意义上来
阅读全文
摘要:备注 工厂模式:要么生产香蕉、要么生产苹果、要么生产西红柿;但是不能同时生产一个产品组。 抽象工厂:能同时生产一个产品族。===》抽象工厂存在原因 解释 : 具体工厂在开闭原则下, 能生产:香蕉/苹果/梨子; (产品等级结构) 抽象工厂:在开闭原则下, 能生产:南方香蕉/苹果/梨子 (产品族) 北方
阅读全文
摘要:Obsever观察者模式定义一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态上发生变化时,会通知所有观察者对象,让他们自动更新自己。抽象主题角色:把所有对观察者对象的引用保存在 一个集合中,每个抽象主题角色都可以有任意数量的观察者。抽象主题提供一个接口,可以增加和删除观察者角色。一般用一个抽象类或接口来实现。抽象观察者角色:为所有具体的观察者定义一个接口,在得到主题...
阅读全文
摘要:门面类(Facade)知道哪些子系统负责处理哪些请求将客户的请求传递给相应的子系统对象进行处理子系统类(SubSystem)实现子系统的功能处理由Facade传递过来的任务子系统无需知道Facade的存在,在任何地方都没有引用FacedeUML时序图例子:给定一个学生类,有年龄和性别属性,判断年龄大于18岁,并且为男性(M)的为合法,其他都不合法。不使用门面模式使用门面模式添加Facade类 ...
阅读全文
摘要:将一个类的接口转换成客户希望的另外一个接口。Adpater模式使得原本由于接口不兼容而不能在一起工作的那些类可以一起工作目标抽象角色(Target)定义客户要用的特定领域接口适配器(Adapter)调用另一个接口,作为一个转换器适配器(Adaptee)定义一个接口,Adapater需要介入客户端(Client)协同对象符合Adapater适配器插线板案例两种类型的适配器模式类适配器(采用继承的方法...
阅读全文
摘要:(Decorator)装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案。装饰模式以对客户透明的方式动态地给一个对象附加上更多的责任,装饰者模式相比生成子类可以更灵活地增加功能。装饰模式可以在不增加子类的情况下,将对象的功能加以扩展。装饰模式是把客户端的调用委派到被装饰类。装饰模式的关键在于扩展完全透明的。装饰模式是在不必改变原类文件和使用继承的情况下,动态的扩展一个对象的功...
阅读全文
摘要:保证一个类有且仅有一个实例,并且提供了一个全局的访问点,在同一时刻只能被一个线程所访问。1>、每台计算机可以有若干个打印机,但只能有一个Printer Spooler,避免两个打印作业同时输出到打印机;2>、Word文档在同一时间内,只能有一个用户对其进行操作,程序设计中需要保证一个文档不能被两个用户同时写入。所有的类都有构造方法,不编码则系统默认生成空的构造方法,若有显示定义的构造方法,默认构造...
阅读全文
摘要:工厂方法模是定义一个勇于创建对象的接口,让子类决定实例化哪一个类。抽象工厂模式(Abstract Factory),提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类抽象工厂模式构成抽象工厂角色(AbstractFactory):声明生成抽象产品的方法具体工厂角色(ConcreteFactory):执行生成抽象产品的方法,生成一个具体的产品抽象产品(AbstactProduct):...
阅读全文
摘要:工厂方法模式(Factory Method):定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂方法使一个类的实例化延迟到其子类。产品角色(Product):定义产品的接口具体产品角色(ConcreteProduct):实现接口Product的类工厂角色(Creator):声明工厂方法(FactoryMethod)具体工厂角色(ConcreteCreator):实现FactoryMetho...
阅读全文
摘要:一、引言 这个系列也是自己对设计模式的一些学习笔记,希望对一些初学设计模式的人有所帮助的,在上一个专题中介绍了单例模式,在这个专题中继续为大家介绍一个比较容易理解的模式——简单工厂模式。二、简单工厂模式的介绍 说到简单工厂,自然的第一个疑问当然就是什么是简单工厂模式了? 在现实生活中工厂是负责生产产品的,同样在设计模式中,简单工厂模式我们也可以理解为负责生产对象的一个类, 我们平常编程中,当使...
阅读全文