程序员

0x000 设计模式简介和UML

2016-03-28  本文已影响129人  卖梳子的鲤鱼

初见设计模式是在学习安卓的过程中发现了,在我用到许多名中含有factory和buil相关的类的时候产生了一些疑问,后来才发现这些是设计模式的一种。所以带着疑惑和好奇开始了设计模式的研读之旅。本系列文章就是记录在我研究设计模式中的所思所想。主要的材料来源于《设计模式》、《大话设计模式》和w3c菜鸟在线教程网站,说是自写的文集,倒不如说是读书笔记更实在些许。

0x001 概述


设计模式:可复用面向对象软件的基础》(Design Patterns: Elements of Reusable Object-Oriented Software)是软件工程领域有关软件设计的一本书,提出和总结了对于一些常见软件设计问题的标准解决方案,称为软件设计模式。该书作者为:埃里希·伽玛(Erich Gamma), Richard Helm, Ralph JohnsonJohn Vlissides,后以“四人帮”(Gang of Four,GoF)[1]
著称。---维基百科

统一建模语言UML,英语:Unified Modeling Language)是非专利的第三代建模规约语言。UML是一种开放的方法,用于说明、可视化、构建和编写一个正在开发的、面向对象的、软件密集系统的制品的开放方法。UML展现了一系列最佳工程实践,这些最佳实践在对大规模,复杂系统进行建模方面,特别是在软件架构层次已经被验证有效。---维基百科

0x002 UML介绍


UML是一门建模语言,甚至是一门专门的学科,这里不探究如何使用UML(或许未来会专门开一片文集来学习UML),只是为了看懂UML类图而介绍相关的东西。
为了介绍UML,我画了一张类图(模仿自大话设计模式):

Main.png

0x003 设计模式六大原则

这些暂且列在这,因为现在对于这些并不能真正理解所以我决定从实例出发,先理解再解释。
1.开闭原则(Open Close Principle)
2.里氏代换原则(Liskov Substitution Principle)
3.依赖倒转原则(Dependence Inversion Principle)
4.接口隔离原则(Interface Segregation Principle)
5.迪米特法则,又称最少知道原则(Demeter Principle)
6.合成复用原则(Composite Reuse Principle)

0x004 设计模式类型

工厂模式(Factory Pattern)
抽象工厂模式(Abstract Factory Pattern)
单例模式(Singleton Pattern)
建造者模式(Builder Pattern)
原型模式(Prototype Pattern)
适配器模式(Adapter Pattern)
桥接模式(Bridge Pattern)
过滤器模式(Filter、Criteria Pattern)
组合模式(Composite Pattern)
装饰器模式(Decorator Pattern)
外观模式(Facade Pattern)
享元模式(Flyweight Pattern)
代理模式(Proxy Pattern)
责任链模式(Chain of Responsibility Pattern)
命令模式(Command Pattern)
解释器模式(Interpreter Pattern)
迭代器模式(Iterator Pattern)
中介者模式(Mediator Pattern)
备忘录模式(Memento Pattern)
观察者模式(Observer Pattern)
状态模式(State Pattern)
空对象模式(Null Object Pattern)
策略模式(Strategy Pattern)
模板模式(Template Pattern)
访问者模式(Visitor Pattern)
MVC 模式(MVC Pattern)
业务代表模式(Business Delegate Pattern)
组合实体模式(Composite Entity Pattern)
数据访问对象模式(Data Access Object Pattern)
前端控制器模式(Front Controller Pattern)
拦截过滤器模式(Intercepting Filter Pattern)
服务定位器模式(Service Locator Pattern)
传输对象模式(Transfer Object Pattern)

上一篇下一篇

猜你喜欢

热点阅读