星空网 > 软件开发 > ASP.net

atitit.软件设计模式大的总结attialx总结

atitit.软件设计模式大的总结attialx总结

 

1. 设计模式的历史3

2. 设计模式的数量(253个)3

3. 设计模式的结构4

3.1. 应用场景and条件Context4

3.2. Problem4

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 优对于  interface6

5.6. Ast模式6

5.7. Auto type convert自动进行类型转换 6

5.8. biz业务化模块6

5.9. Compiler as a Service 6

5.10. Chain mode6

5.11. Confirm模式(解除页面跳转的问题)6

5.12. closure闭包模式6

5.13. components组件化7

5.14. DSL7

5.15. Dwr vs AJAX 7

5.16. DSLparser7

5.17. eventDriver事件驱动模式7

5.18. Code behind7

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----n7

5.27. Html5 ui7

5.28. Hybrid化7

5.29. immediately 即时更新(热部署)快速迭代 持续交付 8

5.30. 8

5.31. Ioc/di8

5.32. Lazy load延迟初始化 cfg8

5.33. Linq8

5.34. microcore微内核8

5.35. msg消息化8

5.36. Mvc9

5.37. ----o-------t10

5.38. Orm10

5.39. Pipe10

5.40. Pipe 管道模式、流式,链式10

5.41. platform10

5.42. plugin插件模式10

5.43. Reflection 10

5.44. refresh刷新模式(解决缓存and静态的变量的值及时修改跟个读取问题)10

5.45. refresh刷新按钮模式...解决若干页面不料条件..and 分页..10

5.46. propCopy数据转换器..propCopy10

5.47. pool池模式10

5.48. Retry(attilax 创建,提升稳定性)10

5.49. Stream10

5.50. Self contain自包含,容器化隔离。。11

5.51. seri串口模式(attilax 创建,解除接口麻烦的)11

5.52. spa ajax化11

5.53. Try catch11

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----z11

5.63. uapi12

5.64. Vm模式12

5.65. visual12

5.66. webService/HttpService12

5.67. workflow工作流12

5.68. Winform12

5.69. Webform12

5.70. Weak/Soft references 12

6. 反模式12

6.1. Reset web12

 

 

 

1. 设计模式的历史

软件模式是在软件开发中某些可重现问题的一些有效解决方法

有若干通用性的solu

 

2. 设计模式的数量(253个)

与很多软件工程技术一样,模式起源于建筑领域,毕竟与只有几十年历史的软件工程相比,已经拥有几千年沉淀的建筑工程有太多值得学习和借鉴的地方。

      那么模式是如何诞生的?让我们先来认识一个人——Christopher Alexander(克里斯托弗.亚历山大),哈佛大学建筑学博士、美国加州大学伯克利分校建筑学教授、加州大学伯克利分校环境结构研究所所长、美国艺术和科学院院士……头衔真多,atitit.软件设计模式大的总结attialx总结,不过他还有一个“昵称”——模式之父(The father of patterns)。Christopher Alexander博士及其研究团队用了约20年的时间,对住宅和周边环境进行了大量的调查研究和资料收集工作,发现人们对舒适住宅和城市环境存在一些共同的认同规律,Christopher Alexander在著作A Pattern Language: Towns, Buildings, Construction中把这些认同规律归纳为253个模式,对每一个模式(Pattern)都从Context(前提条件)、Theme或Problem(目标问题)、 Solution(解决方案)三个方面进行了描述,并给出了从用户需求分析到建筑环境结构设计直至经典实例的过程模型。

 

   1990年,软件工程界开始关注ChristopherAlexander等在这一住宅、公共建筑与城市规划领域的重大突破。最早将模式的思想引入软件工程方法学的是1991-1992年以“四人组(Gang of Four,简称GoF,分别是Erich Gamma, Richard Helm, Ralph Johnson和John Vlissides)”自称的四位著名软件工程学者,他们在1994年归纳发表了23种在软件开发中使用频率较高的设计模式,旨在用模式来统一沟通面向对象方法在分析、设计和实现间的鸿沟

作者:: 老哇的爪子 Attilax 艾龙,  EMAIL:1466519819@qq.com

转载请注明来源: http://www.cnblogs.com/attilax/

 

3. 设计模式的结构

3.1. 应用场景and条件Context

3.2. Problem

3.3. 解决

3.4. 不适合领域

3.5. 优缺点

  软件模式是在软件开发中某些可重现问题的一些有效解决方法,软件模式的基础结构主要由四部分构成,包括问题描述【待解决的问题是什么】、前提条件【在何种环境或约束条件下使用】、解法【如何解决】和效果【有哪些优缺点】,如图1-1所示:

atitit.软件设计模式大的总结attialx总结

 

图1-1 软件模式基本结构

    软件模式与具体的应用领域无关,也就是说无论你从事的是移动应用

 

4. 软件模式并非仅限于设计模式,还包括架构模式、分析模式和过程模式

GoF将模式的概念引入软件工程领域,这标志着软件模式的诞生。软件模式(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 

atitit.软件设计模式大的总结attialx总结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**PFU/gC18G6lrFxDYyy36GxtRH0urfssfDSTwX4x8DeCb7xz8ItH8dSWj66Phh4w1LR4YxDdzXuoromg61/wkPg/w6/ii4ubuXxld6H4asL7xdLe3tx4gu9Quru4nkiClThi43VWdSVqEnzJRUZYXkndyU4RlD6zzQVqicVC0qdVTW2Imq2Ip1YR9lTVSpUlD3U+WrUx1R0nGKdNzi54RRkv3XLdrllSUX8Y/AL9o3x98RPCd9o0/wC0Z4Q8Z614t0/4k2/gkab+zB8ePD97c6hLda3P4Y1a38eXfj5dEOipp8C3Gm2tudNu/sz2Nra+Io72382b80fCfxp/aj1Lx7pek23xC+M7atPpvgO4i8Nanrfx1v8ATrDW9Y8QyWOoPqWlp8bV1y8sLZVP2yxvLh4p7a1khlsrMtcTP+9GjfsmeCPD0OuT6P47+MVt4i8V+FF8HeLfFFx8QLjVpfEej22n3Gm6Utx4M1qw1H4VaPNoVtdTJo48K/D7w/a2qSz272s1ndXltcfPtt/wS5+A1nrJ8QWvjD4lwauYLK3F2mmfAwLGmnXL3lnJBaH4Jmyt7mC5kaUXcFtHdMQivMyRRKmlBQo4zC1W51KFCjh6VRPlUqn1erG0+VKznVo0o+2nJN+0rT9mkqMJVcayqVMLWpRkqdarWr1Yyim1T9vCpde89Y0qtV+xppqLp04e1d6k4Uvpf4q+O9O8DeOfgbD4o8ReM7S7u4viZqNzD4Vu9D0TwLr/APwiXw31DXNbbx3Y67cz3a6TbW8E+o+GobTWYhputJay6tqMtjDNI3jHgT/goB8PPFr6kuteDPFng2LQPGV34L8R6nqNxouoaHpV7L8PNZ+JPhi9h1exvjBrOneLdF8P6tYaTeaOl7anW4rSw8+RdSsZ5vWfiD8A9Q+KfxJ8DXnjjUtB1n4SeBvBPjTQn8N3NlfS+LfG2s/EHwvdeB/EaeKtTims9Ht/Dx8N3U80UWjWFrqM+r3DyGe1tYYojctP2Rf2e7bwx4p8ITeA7jWNC8a6j4N1bxVF4o8aePvF2o6zffD1rNvBct1r3ijxTq+vLH4dTT7O30+1g1OG1WzgWxlgls2eBla8J++k5/WvZ2h8E6mOiqdWVNtONsLGrWp0VUlCXLhqc1QdWpbX3F7L3ZNxp4ZVXz35uShWlOlGbXLJe0nSpzrezjOM3XmnXjCCXmVv+3D4SHxF+Dfw91XwB4v0i5+MUXhu1tL2S88PajP4P8S+LfD1x4p0Lw74y0fSNSvr7Q5rrRY4JmvL77PGbi58i2iult55k9j/AGp5pLf9m3463ELbZrf4V+NriFiAwWWDQL2WJirAq210VtrAq2MMCCRUt/8As0fBXU/iJF8VLzwhcv4zh8S6L4zW4h8W+NbTQG8YeHdEPhrRfFU/gm08RQeCbnxFp+gY0iLWbjw9LqLWCx28txIkcYWv+1aM/sz/AB6A6n4TeOx+fh2/FU3B042jKNT2uIlJc3NGNKVSMsNTUrRc5UqalGdTkg5txlKKkjNKXNrJOPsqK0ja9WMZKtNJttQqSacYOUuXk918sml8efskaPomufAP4fazrGgeHtS1XUdHgvr7ULvQNGmurm7nAklnklayLF2fkEEBMAIFCgD6mm07TrnyvtOnafc+Rci8gNxY2k5gvQoQXsJlhcxXgRVQXUe24CKq+ZtUAfP/AOxjo10/7N/wxIkgx/wjtn1aT/nmP+mRr6k/sS7/AOelv/33J/8AGq19q3a9STs7q85uz7q8nZ+as/My5H/LurPRap9HpqtdndeRkEk9ST25OeB0H4Ux0SRGjkRJI3GHjkVXRxkHDIwKsMgHDAjIBra/sS7/AOelv/33J/8AGqP7Eu/+elv/AN9yf/GqXNHuh8suz/r5nLy6RpE62yT6RpU6WUzXFkk2m2MqWVy7mR7mzWSBltLh5CZHntxHK0hLs5ck1JDpum2/277PpunQf2mWOqeRYWkX9plgVY6l5cK/b2ZWZWN35xYMwJIYg9J/Yl3/AM9Lf/vuT/41R/Yl3/z0t/8AvuT/AONU+fS3O7O91zSs7tN3V7O7jFu61cYt3cYuK5ZaOzurWel1a9rPpa7ta1ru1ru/OWWn6fpkH2XTNPsNMtd7SfZdNsrWwtvMYANJ9ntIoYfMYKAz7NzADcTgVaIDAqwDKwKsrAMrKwIZWUghlYEhlIIIJBBBrZ/sS7/56W//AH3J/wDGqP7Eu/8Anpb/APfcn/xqk5pttyu3u222/Vu7fzbBRa2ja21klbrpa1tddLa676nJnQtBaxGltoWhtpazm5XS20fTW01bk5zcrp7Wps1uDk5nEIlJJJckmlttE0SzuIryz0TRrO8gh+zW95aaTp9tdwW20p9mguoLaOeG3CMyCCORYgjMuzaxB6v+xLv/AJ6W/wD33J/8ao/sS7/56W//AH3J/wDGqftHr78tb396et1yu/va3ilF3veKUXeKUUcj/l220WmvNp2973tLe973xe8YzdD9DXpdt/x7W3/XvB/6KSuMOiXZBHmW/IP8cn/xqu1hUpDChxlIokJHQlEVTjODjI4yAcdhWU2nazvv+SLgmm7q2n6klFFFQaGRrHh/QPEVvHa+IND0jXbaGXz4LfWNNs9Shgn2lDNCl5DMsMpQlGeMKzL8rEqAK5z/AIVf8NP+ie+Cf/CX0b/5DruqKAOF/wCFX/DT/onvgn/wl9G/+Q6v6b4D8D6LeRajo/g7wvpWoQEmC+03QtNsbyHcCreXc21vFKgZSVdQ+11OGBFdXRQAVN9on3B/Pm3hdofzH3Bf7obdkL7A49qhooAlM85O4zSlgwcMZHJ3gbQ2Sc7goChuoHAOKBNMGdhLKGkGHYSMGcejkHLD65qKigB4kkUqVd1KgqpDMCqtncqkHgNk5AwDk560rTTOoR5ZHRcbUZ2ZVwMDCkkDA4GBwOBUdFABUc8UNy0L3MMNy9tKs9s9xFHO9tOilEntnlV2t50RmRJoSkiozKrBSQZKKP01Xk+67PzWvmAAAXC3gVBeJAbVLzYv2tLUuJGtUuseets0irI0CyCJpFVyhZQQwxxGea6MUX2q4SKO4uvLT7TcRwhxBHcXG3zp0gEkghSV3WISSCMKHbL6KP8Ag/8Ak3xf+Bfa/m+1zB/wPw2+7p26WKOlaXpeg2MWl6FpemaHpcD3EkOmaLp9npOmwyXcjzXckVhp8FvaRvdTSSS3LpCGuJZHkmLu7Ew6RoWheHo4YfD2haJoENsl1HbQ6FpGnaPFbR39z9tv47ePTba2SCO+vQLy9jiVEu7sC5uFknAkGpRRs7rR2Ub9eWO0b78q6RvyrpFB/m5f9vSvzS/xSu+aVuaV3zN3d8jWfD/h7xGk0fiPw/oHiFLi2ezuE17RdL1lZ7ORJI5LSYana3QltXjmmR7d90LJNKrIVkcNnXPgbwNevo8l74H8F3snh2yOm+HnvPCfh+6fQNNKhDp2htPp0h0jT9gC/YtONta7Rt8rHFdRRQtNtNVLTT3kpJS0t7yU5pPdKc0mlOamb766Na66PlbWt9G4xbWz5Y3T5Y8vL2/gbwNaXUN9aeB/Bdpe29/Fqtve2nhLw9bXlvqkNmmnw6nb3UGmxzwajDYRpYw30UiXUVmiWqSrAqoOoooo8ui2XRaJaLZaJLRLRJbJJHVvq931e+73e73b3fd3KKKKAP/Z" width="554" height="78" /> 

5.41. platform

5.42. plugin插件模式

 

5.43.  Reflection

5.44. refresh刷新模式(解决缓存and静态的变量的值及时修改跟个读取问题)

5.45. refresh刷新按钮模式...解决若干页面不料条件..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总结

关键词:设计模式

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流