“Next to My Life, Software Is My Passion”——Robert C.Martin.
工程师按照面向对象思想设计一套大型软件系统时,在考虑系统的架构时,在考虑对象的封装、继承、多态时,总不免莫名的恐惧。在无数次的失败和尝试之后,工程师往往能找到若干设计原则或设计模式的东西,似乎摸到了面向对象分析和设计(OOA)的精要。经典的GoF 的《设计模式:可复用面向对象软件的基础》和MVC架构等设计模式方面在这方面做了深刻的总结。深入体会之后,我们会发现设计模式背后都遵循着最基本的设计原则:单一职责原则、开放封闭原则、依赖倒置原则、接口隔离原则和Liskov替换原则。
设计模式并不是空的理论,并不是脱离实际的教条。我们处理数据类的项目时,能深刻感觉到算法和数据结构的无穷魅力;我们处理逻辑类的项目时,能深刻感觉到面向接口编程和将抽象和实现分离的思想光辉。设计模式正是以最佳实践的形式告诉我们如何处理面向对象的实际问题,诸如:类与相互通信的对象之间的组织关系,包括它们的角色、职责、协作方式几个方面?道可道,非常道。道不远人,设计模式亦然如此。
高能彩蛋:除了经典的模式还深入分析了Android中间件使用的设计模式,原创满满!
Process | Pattern Type | Pattern Name | Quality Rank(0-10) |
---|---|---|---|
100% | UML | 软件统一建模 | ☆☆☆ |
100% | 面向对象思想 | 面向对象的基本原则 | ☆☆☆ |
100% | 分层模式 | 分层架构模式 | ☆☆☆ |
100% | 三层模式 | 三层架构模式 | ☆☆☆ |
5% | 创建型模式 | 创建型设计模式(5种) | ☆ |
5% | 结构型模式 | 结构型设计模式(7种) | ☆ |
5% | 行为型模式 | 行为型设计模式(11种) | ☆ |