首页 > 代码库 > atitit.软件设计模式大的总结attialx总结
atitit.软件设计模式大的总结attialx总结
atitit.软件设计模式大的总结attialx总结
1. 设计模式的历史 3
2. 设计模式的数量(253个) 3
3. 设计模式的结构 4
3.1. 应用场景and条件Context 4
3.2. Problem 4
3.3. 解决 4
3.4. 不适合领域 4
3.5. 优缺点 4
4. 软件模式并不是仅限于设计模式。还包含架构模式、分析模式和过程模式 5
5. 详细的设计模式 5
5.1. Gof 23个模式 5
5.2. Api映射法代替 warp法。 5
5.3. async异步模式 6
5.4. AOP 6
5.5. Abstract 优对于 interface 6
5.6. Ast模式 6
5.7. Auto type convert自己主动进行类型转换 6
5.8. biz业务化模块 6
5.9. Compiler as a Service 6
5.10. Chain mode 6
5.11. Confirm模式(解除页面跳转的问题) 6
5.12. closure闭包模式 6
5.13. components组件化 7
5.14. DSL 7
5.15. Dwr vs AJAX 7
5.16. DSLparser 7
5.17. eventDriver事件驱动模式 7
5.18. Code behind 7
5.19. Cfg2ui (attilax 创建 7
5.20. Biz_index业务索引模式(attilax 创建,解 7
5.21. dispater分发器模式 7
5.22. filter过滤器模式 7
5.23. Engeen+script引擎+脚本模式(托管) 7
5.24. frmwk框架化 7
5.25. generic泛型模式 7
5.26. -------------------h----n 7
5.27. Html5 ui 7
5.28. Hybrid化 7
5.29. immediately 即时更新(热部署)高速迭代 持续交付 8
5.30. 8
5.31. Ioc/di 8
5.32. Lazy load延迟初始化 cfg 8
5.33. Linq 8
5.34. microcore微内核 8
5.35. msg消息化 8
5.36. Mvc 9
5.37. ----o-------t 10
5.38. Orm 10
5.39. Pipe 10
5.40. Pipe 管道模式、流式。链式 10
5.41. platform 10
5.42. plugin插件模式 10
5.43. Reflection 10
5.44. refresh刷新模式(解决缓存and静态的变量的值及时改动跟个读取问题) 10
5.45. refresh刷新button模式...解决若干页面不料条件..and 分页.. 10
5.46. propCopy数据转换器..propCopy 10
5.47. pool池模式 10
5.48. Retry(attilax 创建,提升稳定性) 10
5.49. Stream 10
5.50. Self contain自包括,容器化隔离。
。
11
5.51. seri串口模式(attilax 创建,解除接口麻烦的) 11
5.52. spa ajax化 11
5.53. Try catch 11
5.54. 决缓存不及时的问题) 11
5.55. Theardlocal模式 11
5.56. trigger触发器模式(attilax 创建) 11
5.57. SOA 11
5.58. single单例目录模式(解决模块复制问题,提取问题) 11
5.59. 11
5.60. Timer 模式...解决同步问题两个控件 11
5.61. Theardlocal模式 11
5.62. ----u----z 11
5.63. uapi 12
5.64. Vm模式 12
5.65. visual 12
5.66. webService/HttpService 12
5.67. workflow工作流 12
5.68. Winform 12
5.69. Webform 12
5.70. Weak/Soft references 12
6. 反模式 12
6.1. Reset web 12
1. 设计模式的历史
软件模式是在软件开发中某些可重现问题的一些有效解决方法
有若干通用性的solu
2. 设计模式的数量(253个)
与非常多软件project技术一样,模式起源于建筑领域,毕竟与仅仅有几十年历史的软件project相比,已经拥有几千年沉淀的建筑project有太多值得学习和借鉴的地方。
那么模式是怎样诞生的?让我们先来认识一个人——Christopher Alexander(克里斯托弗.亚历山大),哈佛大学建筑学博士、美国加州大学伯克利分校建筑学教授、加州大学伯克利分校环境结构研究所所长、美国艺术和科学院院士……头衔真多,,只是他另一个“昵称”——模式之父(The father of patterns)。Christopher Alexander博士及其研究团队用了约20年的时间,对住宅和周边环境进行了大量的调查研究和资料收集工作,发现人们对舒适住宅和城市环境存在一些共同的认同规律。Christopher Alexander在著作A Pattern Language: Towns, Buildings, Construction中把这些认同规律归纳为253个模式。对每个模式(Pattern)都从Context(前提条件)、Theme或Problem(目标问题)、 Solution(解决方式)三个方面进行了描写叙述。并给出了从用户需求分析到建筑环境结构设计直至经典实例的过程模型。
1990年,软件project界開始关注ChristopherAlexander等在这一住宅、公共建筑与城市规划领域的重大突破。最早将模式的思想引入软件project方法学的是1991-1992年以“四人组(Gang of Four,简称GoF,各自是Erich Gamma, Richard Helm, Ralph Johnson和John Vlissides)”自称的四位著名软件project学者。他们在1994年归纳发表了23种在软件开发中使用频率较高的设计模式,旨在用模式来统一沟通面向对象方法在分析、设计和实现间的鸿沟
作者:: 老哇的爪子 Attilax 艾龙, EMAIL:1466519819@qq.com
转载请注明来源: http://blog.csdn.net/attilax
3. 设计模式的结构
3.1. 应用场景and条件Context
3.2. Problem
3.3. 解决
3.4. 不适合领域
3.5. 优缺点
软件模式是在软件开发中某些可重现问题的一些有效解决方法,软件模式的基础结构主要由四部分构成,包含问题描写叙述【待解决的问题是什么】、前提条件【在何种环境或约束条件下使用】、解法【怎样解决】和效果【有哪些优缺点】,如图1-1所看到的:
图1-1 软件模式基本结构
软件模式与详细的应用领域无关,也就是说不管你从事的是移动应用
4. 软件模式并不是仅限于设计模式,还包含架构模式、分析模式和过程模式
GoF将模式的概念引入软件project领域,这标志着软件模式的诞生。
软件模式(Software Patterns)是将模式的一般概念应用于软件开发领域,即软件开发的整体指导思路或參照样板。
软件模式并不是仅限于设计模式。还包含架构模式、分析模式和过程模式等。实际上。在软件开发生命周期的每个阶段都存在着一些被认同的模式。
5. 详细的设计模式
5.1. Gof 23个模式
5.2. Api映射法代替 warp法。
类似于hbuilder,将native api映射为我们的api,
5.3. async异步模式
5.4. AOP
5.5. Abstract 优对于 interface
5.6. Ast模式
5.7. Auto type convert自己主动进行类型转换
Script
Jsp EL
Sql str>>num
5.8. biz业务化模块
业务化的业务模块。框架,类库,模版,api
5.9. Compiler as a Service
5.10. Chain mode
5.11. Confirm模式(解除页面跳转的问题)
5.12. closure闭包模式
5.13. components组件化
5.14. DSL
5.15. Dwr vs AJAX
5.16. DSLparser
5.17. eventDriver事件驱动模式
5.18. Code behind
5.19. Cfg2ui (attilax 创建
5.20. Biz_index业务索引模式(attilax 创建,解
5.21. dispater分发器模式
5.22. filter过滤器模式
5.23. Engeen+script引擎+脚本模式(托管)
5.24. frmwk框架化
5.25. generic泛型模式
5.26. -------------------h----n
5.27. Html5 ui
5.28. Hybrid化
5.29. immediately 即时更新(热部署)高速迭代 持续交付
(script+engine)模式
使用原生开发,从招聘、开发、上线各个环节的效率都慢一倍以上,并且參与的人越多。沟通效率往往拖慢不止一倍。
配置也应该使用dev模式,马上更新..能够..不须要重新启动app
5.30.
5.31. Ioc/di
5.32. Lazy load延迟初始化 cfg
5.33. Linq
同意编写C#或者Visual Basic代码以查询数据库同样的方式操作内存数据。
5.34. microcore微内核
5.35. msg消息化
这个图,是改用消息模式结果,用户注冊功能模块,跟接收到消息处理各个任务直接,代码没有直接关联。
假设须要添加一个接收注冊消息。给其他人通知一下。仅仅须要新增一个模块,订制注冊消息,然后处理一个新流程就可以。
眼下各类开源项目里面,消息机制已经变得很常见了。 但在wordpress这个blog框架,它的消息主题很完好。差点儿不论什么动作都有消息主题发送消息。 这样让开发人员,仅仅要订制相关主题。就能够,添加自己额外处理功能。 比如: 用户发一个帖子后。检測下用户是不是有广告信息,仅仅要订制:发帖消息,然后,添加新功能。检測内容。发现不满足。直接屏蔽帖子。
有人预计要说。这类功能。如今非常多框架有类似东西,比如,页面開始有个start事件。结束有个end事件。 确实,消息概念在非常多框架里面确实实用。 可是。没有这么完成的消息主题抛出。 差点儿做到整个系统不论什么操作,都能有消息。这样没有什么功能不能进行扩展了。
5.36. Mvc
5.37. ----o-------t
5.38. Orm
5.39. Pipe
5.40. Pipe 管道模式、流式,链式
5.41. platform
5.42. plugin插件模式
5.43. Reflection
5.44. refresh刷新模式(解决缓存and静态的变量的值及时改动跟个读取问题)
5.45. refresh刷新button模式...解决若干页面不料条件..and 分页..
5.46. propCopy数据转换器..propCopy
5.47. pool池模式
5.48. Retry(attilax 创建,提升稳定性)
5.49. Stream
5.50. Self contain自包括。容器化隔离。。
iframe
5.51. seri串口模式(attilax 创建,解除接口麻烦的)
5.52. spa ajax化
5.53. Try catch
5.54. 决缓存不及时的问题)
5.55. Theardlocal模式
5.56. trigger触发器模式(attilax 创建)
5.57. SOA
5.58. single单例目录模式(解决模块复制问题,提取问题)
5.59.
5.60. Timer 模式...解决同步问题两个控件
控件的onchange事件不能生效..
5.61. Theardlocal模式
5.62. ----u----z
5.63. uapi
5.64. Vm模式
5.65. visual
5.66. webService/HttpService
5.67. workflow工作流
5.68. Winform
5.69. Webform
5.70. Weak/Soft references
6. 反模式
6.1. Reset web
atitit.软件设计模式大的总结attialx总结