
设计模式
翟文彪
人生苦短,快学C、JAVA、Python.....
展开
-
【设计模式】行为型模式
模板方法模式:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 特点: 通过把不变行为搬移到超类,去除子类中的重复代码来体现它的优势。 提供了一个很好的代码复用平台 当不变的和可变的行为在方法的子类实现中混合在一起的时候,不变的行为就会在子类中重复出现。我们通过模板方法模式把这些行为搬移到单一的地方,这样就帮助子类摆脱重复的不变行为的纠缠。 命令模式(Command):将一个请求封装..原创 2020-08-31 17:53:52 · 856 阅读 · 14 评论 -
【设计模式】结构型模式
适配器模式(Adapter):将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 适配器模式主要解决什么问题? 通俗:需要的东西就在眼前,但是却不能使用,而短时间又无法改造它,于是我们就想办法适配他。 官方:系统的数据和行为都正确,但是接口不符合时,我们应该考虑使用适配器,目的是使控制范围之外的一个原有对象与某个接口匹配。适配器模式主要应用于希望复用的一些现存的类,但是接口又与复用环境要求不一致的情况。 何时使用适..原创 2020-08-31 17:41:36 · 783 阅读 · 11 评论 -
【设计模式】创建型模式
单例模式(Singleton)保证一个类仅有一个实例,并提供一个访问他的全局访问点。 通常我们可以让一个全局变量使得一个对象被访问,但他不能防止你实例化多个对象。一个最好的办法就是,让类自身负责保存他的唯一实例。这个类可以保证没有其他实例可以被创建,并且它可以提供一个访问该实例的方法。 单例模式的好处: 因为Singleton类封装他的唯一实例,这样他可以严格的控制客户怎样访问他以及何时访问他。简单地说就是对唯一实例的受控访问。 多线程时的单例: 可以给进程加一把锁来处理,l...原创 2020-08-31 16:55:24 · 797 阅读 · 10 评论 -
【设计模式】GoF 23与OOP七大原则
创建型模式 单例模式、工厂模式、抽象工厂模式、建造者模式、原型模式 结构型模式 适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式 行为型模式 模板方法模式、命令模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式、状态模式、策略模式、职责链模式、访问者模式 开闭原则:对扩展开放、对修改关闭 里氏替换原则:继承必须确保父类所拥有的性质在子类中仍然成立(例如:长方形不是正方形) 依赖倒置原则:要面向接口编程,不要面向实现编程 单一...原创 2020-08-31 16:44:56 · 752 阅读 · 9 评论