动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
电脑书籍下载:程序设计书籍 | 数据库教程书籍 | 平面与多媒体书籍 | 网络通讯书籍 | 系统管理书籍 | 网络安全书籍 | 认证考试书籍
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 软件工程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ 软件工程 ]的信息



本月文章推荐
.为什么要用UML建模之建模原理.
.Apache中的挂钩剖析(3).
.实现基于IDEA算法的加密工具(4).
.XAML开发入门之XAML核心语法.
..NET设计模式之工厂方法模式.
.实现基于IDEA算法的加密工具(8).
.通过RUP用例进行需求管理的可追踪.
.业务流程管理软件向套件级进化.
.服务基础架构软件加速企业SOA实施.
.游戏引擎剖析(八).
.SOA引发中间件市场新变局.
.如何编写高质量软件需求说明书.
.IBM发布创新“全内置”System i5.
..NET架构与模式探索.
.更好的控制客户需求.
.软件开发全过程检测及测试自动化.
.规划SOA(3)进行长期SOA规划.
.单例模式Singleton的实现.
.BEA成为企业部署SOA的首选合作伙.
.CMM简介.

设计模式基本思想

发表日期:2008-3-23 |


好的系统设计追求如下特性:
l         可扩展性( Extensibility ):新的功能或特性很轻易加入到系统中来; l         灵活性( Flexibility ):可以答应代码修改平稳发生,对一处的修改不会波及到很多其他模块; l         可插入性( Pluggability ):可以很轻易地将一个类或组件抽出去,同时将另一个有相同接口的类 / 接口加入进来。 具有如上特性的系统才有真正的可维护性和可复用性。而可维护性和可复用性对一个持 续接入新需求,现有功能逐步完善,新功能不断丰富,版本不会终止的大型软件产品来说至关重要。        传统的复用包括:代码的 copy 复用,算法的复用,数据结构的复用。 在面向对象领域,数据的抽象化、封装、继续和多态性是几项最重要的语言特性,这些特性使得一个系统可以在更高的层次上提供可复用性。数据的抽象化和继续关系使得概念和定义可以复用;多态性使得实现和应用可以复用;而抽象化和封装可以保持和促进系统的可维护性。这样,复用的焦点不再集中在函数和算法等具体实现细节上,而是集中在最重要的宏观的业务逻辑的抽象层次上。复用焦点的倒转不是因为实现细节的复用不再重要,而是因为这些细节上的复用往往已经做的很好(例如,很轻易找到并应用成熟的数据结构类库等),而真正冲击系统的是其要实现业务的千变万化。 本质上说,假如说一个软件的需求是永不变更或发展的,该软件也就不需要任何设计,怎么编码实现都行,只要需求满足,性能达标。但事实上,软件的本性就是不断增强,不断拓展的,不断变化的。我们可以控制指尖流淌出的每行代码,但控制不了奉为上帝的用户的需求。编码结束,测试全部通过,用户在试用过程中才发现原来的需求有问题,需要变更或提出新需求,怎么办?向用户抗议:需求总在变,没法做!?平抑心中的抱怨,加班加点大量的修改代码,疯狂的测试,依然是时间紧迫,心中没底?抑或了然于胸:这个变更或小需求合理,系统很方便纳入;于是坦然地和用户协商下一个交付时间点? 要使系统最大程度的适应需求的变更或新增,就必须在其要实现的宏观业务逻辑的抽象复用上下功夫。而设计模式就是综合运用面向对象技术和特性来提高业务逻辑可复用性的常用方法和经验的提取和汇总。 把握 23 种设计模式的要害是理解它们的共通目的:使所设计的软件系统在一般或特定(系统将来在特定点上扩展的可能性大)场景下,尽可能的对扩展开放,对修改关闭。即面对新需求或需求变更时,轻易开发独立于既有代码的新代码接入到现有系统或对现有代码做可控的少量修改,而不是在现有代码基础上做大量的增、删、改。为了这一目的, 23 种设计模式贯穿了面向对象编程的基本原则: l         面向接口或抽象编程,而不是面向实现编程。
l         一个对象应当对其他对象有尽可能少的了解,即松耦合。 l         纯粹的功能复用时,尽量不要使用继续,而是使用组合。使已有的对象成为新对象的一部分;新的对象通过向这些对象的委派达到复用已有功能的目的。 进入讨论组讨论。

上一篇:2007年值得去思考的N大软件技术 人气:186
下一篇:遇上用例驱动的团队 人气:199
浏览全部软件工程的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-7-25 WikyBlog v1.7.0.1 多国语言版
2008-7-25 乐彼网上开店系统(56770 Eshop)
2008-7-25 赛特网站管理系统sitecms v3.6.0
2008-7-25 Modoer多功能点评系统 v1.0.1 Bu
2008-7-25 Shangducms Teamsuit! v1.1.0 开
2008-7-25 幻影动漫网视频系统(Ppdong) v1.
2008-7-25 acteecompany企业网站建设系统 v
2008-7-25 恒浪整合管理系统 ims v4.1 ACCE
2008-7-25 艺术图库系统 v1.0 beta
2008-7-19 UltraEdit 简体中文增强版 14.10
2008-7-19 CentOS 5.2 i386 LiveCD
2008-7-19 Snapture多功能相机 v1.4
2008-7-19 iAcces中文输入法 v1.0Build016
2008-7-19 Cookbook烹饪秘籍 v2.5
2008-7-19 苹果专用DVD转换工具 v1.1.59汉化
2008-7-19 Modem修复软件ZiPhone修改版04.0
2008-7-19 AgileMessenger即时通讯工具美化
2008-7-19 Sketches画图软件 v0.7b6破解版


  发表评论
姓 名: 验证码:
内 容:
[ 汉字翻译拼音 ] [ 广告代码 ] [ 符号对照表 ] [ 进制转换 ] [ 经典小工具 ] [ 个税计算 ] [ 汉字简繁转换 ] [ 普通单位换算 ] [ 公制单位换算 ]
[ 生辰老黄历 ] [ 国内电话区号 ] [ 国家代码与域名缩写 ] [ 文字加密解密 ] [ 健康查询 ] [ 万年历 ] [ 手机号码查询 ] [ ip搜索 ] [ Google PR查询 ]
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号