王朝网络
分享
 
 
 

软件设计精要与模式(第2版)

王朝导购·作者佚名
 
软件设计精要与模式(第2版)  点此进入淘宝搜索页搜索
  特别声明:本站仅为商品信息简介,并不出售商品,您可点击文中链接进入淘宝网搜索页搜索该商品,有任何问题请与具体淘宝商家联系。
  参考价格: 点此进入淘宝搜索页搜索
  分类: 图书,计算机/网络,软件工程/开发项目管理,

作者: 张逸著

出 版 社: 电子工业出版社

出版时间: 2010-4-1字数: 720000版次: 1页数: 450印刷时间: 2010-4-1开本: 16开印次: 1纸张: 胶版纸I S B N : 9787121104534包装: 平装

软件设计精要与模式(第2版)
软件设计精要与模式(第2版)
软件设计精要与模式(第2版)
内容简介

本书关注的焦点是软件设计,涵盖了大部分与设计有关的基本要素,包括面向对象思想、设计模式、重构、测试驱动开发、极限编程以及软件体系架构。其中,尤以设计模式为主,深入探讨了软件设计过程中的原则与模式,并结合大量的实例与代码演示了如何合理运用设计模式,改善程序模块的可复用性、可扩展性,实现模块间的松散耦合。全书将软件设计理论与项目实践完美地结合起来,使其告别了纯理论研究的空泛,具有现实的指导意义。

本书适用于所有希望提高软件设计水平的程序员、软件工程师,同时,对于软件设计师与系统架构师也具有一定的参考价值。

软件设计精要与模式(第2版)
作者简介

张逸,软件架构师,敏捷教练,微软最有价值专家,InfoQ.NET丰土区常务编辑,msup资深讲师。目前担任中软国际ETC(重庆)技术总监。主要专注于软件架构、设计模式、领域驱动设计和敏捷开发,以及基于.NET平台的企业级系统应用开发和分布式开发。曾先后为可口可乐、摩托罗拉、HP、京东方、尼桑、摩洛哥电信、盛大、第九城市、CA、携程等企业提供设计、开发、咨询与培训服务。他的著译作包括《软件设计精要与模式》、《WCF服务编程》。

软件设计精要与模式(第2版)
目录

第1篇 设计之要

第1章 设计之道

1.1 计划的设计与演进的设计

1.2 架构的标准

1.3 过度设计,还是简单设计

1.4 需要设计模式吗

1.5 重构是必然的

1.6 UML重要吗

1.7 测试驱动开发

第2章 对象法则

2.1 面向对象思想

2.2 面向对象核心要素

2.2.1 封装

2.2.2 继承

2.2.3 多态

2.3 面向对象设计原则

2.3.1 单一职责原则

2.3.2 开放封闭原则

2.3.3 Liskov替换原则

2.3.4 依赖倒置原则

2.3.5 接口隔离原则

第3章 封装变化

3.1 设计模式之鹄的

3.2 如何封装变化

3.2.1 封装对象行为的变化

3.2.2 封装对象创建的变化

3.2.3 封装对象结构的变化

3.3 解耦具体依赖

3.3.1 配置文件与反射技术

3.3.2 表驱动法

3.3.3 惯例优于配置

3.3.4 依赖注入

第4章 体验重构

4.1 一个阶乘容器

4.2 代码的坏味道

4.3 需求发生变化

4.4 运用重构利器

4.5 引入设计模式

第5章 测试驱动开发

5.1 发现价值与生产价值

5.2 运用面向对象编程思想

5.3 适时小结

5.4 收获价值

5.5 无上之力

第2篇 .NET框架与设计模式

第6章 .NET中的工厂方法模式

6.1 “嫁祸江东”之计

6.2 WebRequest对象的创建

6.3 改造工厂方法模式

6.4 实现良好的可扩展性

6.5 惯例优于配置

第7章 .NET中的合成模式

7.1 字处理软件

7.2 .NET框架中的控件

7.3 “复合方式”的合成模式

第8章 .NET中的装饰器模式

8.1 一步一步走向装饰器模式

8.2 .NET框架中对流的处理

第9章 .NET中的迭代器模式

9.1 分辨对象的职责

9.2 实现迭代器模式

9.3 迭代器模式大观园

9.4 迭代器模式在.NET框架中的实现

9.5 通过yield return实现迭代器

9.6 C# .0对迭代器模式的支持

第10章 .NET中的策略模式

10.1 税务系统

10.2 利用委托实现策略模式

10.3 .NET框架中的Provider对象

第11章 .NET中的命令模式

11.1 考勤管理系统

11.2 命令模式在WF中的运用

11.3 合成模式与命令模式的结合

第3篇 媒体播放器的设计之旅

第12章 面向对象与接口分离

12.1 拙劣的设计

12.2 面向对象设计

12.3 接口分离

12.4 解除具体依赖

第13章 接口行为的适配

13.1 新的应用场景

13.2 “狼”与“羊”的关系

13.3 引入适配器模式

13.3.1 类的适配器模式

13.3.2 对象的适配器模式

13.4 适配器模式比较

第14章 接口行为的扩展

14.1 设计走向死胡同

14.2 考察适配器模式

14.3 引入访问者模式

14.4 非循环访问者模式

14.5 合理运用访问者模式

第15章 接口行为的装饰

15.1 不断变化的需求

15.2 考虑代理模式

15.3 引入装饰器模式

第4篇 设计模式应用实践

第16章 抽象工厂模式应用

16.1 报表组件

16.2 糟糕的设计

16.3 引入抽象工厂模式

16.4 工厂对象的使用

16.5 引入策略模式和桥接模式

16.6 适配器模式扩展抽象工厂结构

16.7 接口还是抽象类

第17章 建造者模式应用

17.1 装配设备对象

17.2 糟糕的设计

17.3 引入建造者模式

17.4 从容应对扩展

第18章 命令模式应用

18.1 安装向导

18.2 糟糕的设计

18.3 引入命令模式

18.4 进一步完善

18.5 分辨对象职责与变化

第19章 职责链模式应用

19.1 员工培训系统

19.2 设计模型

19.3 设计的重构

19.4 职责链模式

第20章 观察者模式应用

20.1 监控设备状态

20.2 引入观察者模式

20.3 事件与委托改进观察者模式

第21章 代理模式应用

21.1 显示设备控件

21.2 引入代理模式

21.3 完善设计

第22章 设计模式综合应用

22.1 话单转换工具

22.2 糟糕的设计

22.3 面向对象的设计思想

22.4 引入策略模式

22.5 需求发生变化

22.6 引入模板方法模式

22.7 合理的设计才是最好的设计

22.8 引入桥接模式

22.9 分离接口

22.10 引入抽象工厂模式

第5篇 .NET体系架构

第23章 软件体系架构

23.1 分层架构模式

23.2 分层架构模式之优劣

23.3 PetShop的架构版本演化

23.4 PetShop .0的系统架构

第24章 数据访问层

24.1 数据库样式

24.2 数据对象

24.3 SQL语句之瘤

24.4 运用ORM的思想

24.5 资源库模式与工作单元模式

24.6 事务的处理

24.7 具有简单工厂特质的抽象工厂模式

24.8 服务定位器模式

第25章 消息处理

25.1 MSMQ的实现

25.1.1 消息处理模块的组成

25.1.2 消息接口

25.1.3 消息接口的实现

25.1.4 消息工厂

25.1.5 后台处理应用程序

25.1.6 引入策略模式

25.2 分布式处理

第26章 ASP.NET缓存

26.1 ASP.NET缓存概述

26.2 SqlCacheDependency特性

26.2.1 利用aspnet_regsql工具

26.2.2 利用SqlCacheDependencyAdmin类

26.3 ASP.NET缓存在PetShop .0中的实现

26.3.1 CacheDependency接口

26.3.2 CacheDependency实现

26.3.3 CacheDependency工厂

26.3.4 引入门面模式

26.3.5 引入代理模式

第27章 业务逻辑层

27.1 与领域专家合作

27.2 业务逻辑层的模式应用

27.3 PetShop的业务逻辑层

27.4 与数据访问层的通信

27.5 面向接口设计

第28章 表现层

28.1 页面控制器模式

28.2 用户管理

28.2.1 Profile特性

28.2.2 Membership特性

28.3 ASP.NET控件

28.3.1 自定义控件

28.3.2 用户控件

28.3.3 登录控件

28.3.4 Master Page

28.4 MVC模式

28.5 表现层的演变

参考文献

软件设计精要与模式(第2版)
书摘插图

第1篇 设计之要

第1章 设计之道

1.4 需要设计模式吗

如果仅考虑实现当前的功能需求,还需要设计模式吗?坦白地说,我并不认为设计模式与过度设计有关。过度设计的导火索是设计模式的滥用。很多时候,合理地利用设计模式反而能使程序结构简单化,特别是,它能够让开发过程更简单。

Christopher Alexander在描述城市和建筑模式时说,“每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。这样,你就能一次又一次地使用该方案而不必做重复劳动。”设计模式正是为解决软件开发领域中的类似问题,从而提出的解决方案,它作为面向对象编程经验的总结,是软件设计技巧中最重要的方法与原则。放弃设计模式,意味着希望成为优秀设计师的你,在将历史的车轮向前倒滚了十年之后,有幸成为了和GOF同行的伟大先驱者。你放弃了站在前人肩膀上眺望远方的机会,而选择自己艰难吃力地踮起脚尖,最后失去的却是更远处美丽的风景。

需要设计模式吗?答案看来是不言而喻。关键一点是需要确定模式的应用是否过度?世界上很多天才横溢的程序员,可以在一段代码中包含6种设计模式,也可以不利用模式就能把设计做得很好。然而,软件设计的目标并不是炫耀茴香豆的“茴”字有几种写法,我们需要的是有效的设计。学习设计模式,不是为了炫耀、吹嘘,不是为了故作艰深,而是为了改善我们的设计,它可以为某种功能实现提供参考模型、设计方法以及应用范例。我们不需要奉GOF的设计模式为圭臬,盲目地膜拜它,合理地运用设计模式,才是明智的抉择。

……

书摘与插图

软件设计精要与模式(第2版)

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
>>返回首页<<
推荐阅读
 
 
频道精选
 
更多商品
我说参同契(套装上中下)—(太湖大学堂系列图书)
jQuery开发技术详解(含CD光盘1张)
国家司法考试重点法条解读(上下册)
国家司法考试行政法·宪法
通信信号处理
炒股软件实战操练大全(含DVD光盘1张)
Excel图表之道——如何制作专业有效的商务图表(彩)(告别粗糙图表,亲近专业品质。让客户满意,给自己加薪。)
新股民实战宝典: 买点和卖点的选择艺术
数值方法(MATLAB版)(第四版)
Verilog HDL高级数字设计(第二版)(英文版)
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有