• 软件框架设计的艺术
21年品牌 40万+商家 超1.5亿件商品

软件框架设计的艺术

①一般下午5点前订单,当日发货,开发票联系客服②教材,学习,考试类书默认有笔记(或做过)③其他类书一般无笔记,提前与客服沟通好再下单,否则本店不承担责任)④部分图书籍采用标准图片,可能存在不同印次不同封面,内容一致⑤出版时间过长的书都可能有自然发黄现象。

16.51 2.2折 75 九品

库存2件

天津宝坻
认证卖家担保交易快速发货售后保障

作者[捷] Jaroslav Tulach

出版社人民邮电出版社

ISBN9787115248497

出版时间2011-03

装帧平装

开本16开

定价75元

货号974229784433901575

上书时间2024-11-12

休闲图书吧

三年老店
已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:九品
商品描述
前言
 对于《软件框架设计的艺术》,我有一种相见恨晚的感觉,相信很多读者在读后也会有同感。

 多年的软件开发经验让我体会到了各种酸甜苦辣的滋味,很多开发人员对此都应感同身受。除了这些滋味,最常出现的却是迷茫:碰到问题,却无法解决;解决问题,却无法避免同样的错误一犯再犯。这一次次的迷茫,对每一位软件开发人员都会带来沉重的打击。幸好,这个世界上总不乏先行者为我们点亮一盏盏明灯,也总有大师级人物为我们指点迷津。阅读他们的著述,便有一种醍醐灌顶的顿悟,如Gamma等人的《设计模式》、Bloch的Effective Java,这些书常令我掩卷而叹:原来如此!而此刻你手中拿到的也正是这样的一本书。

 提到这本书,就不能不提到作者Jaroslav Tulach。作为NetBeans的创始人,十多年来,他一直致力于NetBeans产品的开发,并赢得了开源社区的尊重和美誉。这本书是他对自己十多年NetBeans开发的一个总结。他将自己的心路历程如实记下,见证了NetBeans从IDE走向平台、从混乱的代码走向清晰的模块化架构这一不平凡的历程。这一路走来并不平坦,但他终在每一次迷茫和困惑中找到了完善的解决方案。在本书中,从API的设计思想、兼容性解决方案到编码的技术要点,他都娓娓道来,与我们一同分享。

 读者也许会问:此书与市场上同类的设计书籍相比有何突出之处呢?我们不妨想想,近十年蓬勃发展的开源运动,引无数英雄竞折腰。而为什么有些开源框架或者系统能够快速地拥有大量用户并维持下去,但自己开发的类库、软件却无法取得类似的成功呢?我想告诉读者,答案尽在此书中。这就是本书与其他设计书籍的迥异之处:它告诉读者的是一种大道,而非小技。

 坦诚地说,本书不是写给初学者的,即使是有经验的开发人员,深读此书也并非易事。但我仍然确信,不论是一位富有经验的架构师还是一位堪堪入门的初学者,只要他细心研读,就能从本书中有所收获。本书不应读过后就束之高阁,而应常备于手边。当遇到难思难解之事时,翻翻此书,必有意想不到之收获。还可以将此书放于案头,闲暇之时读上几页,必有所得。

 翻译本书决非一件轻松的工作,但于我,无论多苦多累,都是值得,应该说翻译本书带给我更多的是收获。我也希望这本书可以为读者带来同样的收获。人民邮电出版社图灵公司给了我足够的时间和自由度来翻译本书,对此致以我最真诚的谢意。受限于自身的水平,书中若有翻译不到位或不妥之处,责任尽归于本人,烦请各位读者谅解一二。

 王磊

 2011年早春

导语摘要
 敏捷API设计的时代才刚刚开始,图拉赫所著的《软件框架设计的艺术》堪称是API设计的一部开风气之先的著作。
与枯燥乏味的理论性图书不同,本书从理论、实战及日常应用三个方面详细讲解了软件开发和框架设计的艺术,着眼于保证软件设计能够应对时刻变化的需求和技术。书中将理论与实践有机地结合在一起,对框架设计领域进行了深层次的阐释。
作为NetBeans框架的主架构师,作者在书中总结了自己多年的开发经验,与大家分享了API设计的技术细节、走过的弯路和教训。对于广大软件开发人员来说,这些都是不可多得的宝贵财富。本书就像一盏黑暗中燃起的明灯,为你照亮崎岖的开发之路,指明前进的方向。

作者简介
 Jaroslav Tulach,NetBeans的创始人,也是NetBeans项目最初的架构师。有着丰富的项目开发经验,一直致力于如何提高开发人员的设计技巧,从而保证了NetBeans项目的成功。

  王磊,工学学士及硕士。2006年起任职于普元公司,一直担任普元公司主任架构师。同时是自由软件Aquarius ORM Studio的作者。

  朱兴,软件工程师。一直从事软件研发工作,熟悉Java、Eclipse插件开发、API设计等相关技术。

目录

第一部分 理论与理由
 第1章 软件开发的艺术
 1.1 理性主义,经验主义以及无绪
 1.2 软件的演变过程
 1.3 大型软件
 1.4 漂亮,真理和优雅
 1.5 更好的无绪
 第2章 设计api的动力之源
 2.1 分布式开发
 2.2 模块化应用程序
 2.3 交流互通才是一切
 2.4 经验主义编程方式
 2.5 开发第一个版本通常比较容易
 第3章 评价api好坏的标准
 3.1 方法和字段签名
 3.2 文件及其内容
 3.3 环境变量和命令行选项
 3.4 文本信息也是api
 3.5 协议
 3.6 行为
 3.7 国际化支持和信息国际化
 3.8 api的广泛定义
 3.9 如何检查api的质量
 3.9.1 可理解性
 3.9.2 一致性
 3.9.3 可见性
 3.9.4 简单的任务应该有简单的方案
 3.9.5 保护投资
 第4章 不断变化的目标
 4.1 第一个版本远非完美
 4.2 向后兼容
 4.2.1 源代码兼容
 4.2.2 二进制兼容
 4.2.3 功能兼容--阿米巴变形虫效应
 4.3 面向用例的重要性
 4.4 api设计评审
 4.5 一个api的生命周期
 4.6 逐步改善
 第二部分 设计实战
 第5章 只公开你要公开的内容
 5.1 方法优于字段
 5.2 工厂方法优于构造函数
 5.3 让所有内容都不可更改
 5.4 避免滥用setter方法
 5.5 尽可能通过友元的方式来公开功能
 5.6 赋予对象创建者更多权利
 5.7 避免暴露深层次继承
 第6章 面向接口而非实现进行编程
 6.1 移除方法或者字段
 6.2 移除或者添加一个类或者接口
 6.3 向现有的继承体系中添加一个接口或者类
 6.4 添加方法或者字段
 6.5 java中接口和类的区别
 6.6 弱点背后的优点
 6.7 添加方法的另一种方案
 6.8 抽象类有没有用呢
 6.9 要为增加参数做好准备
 6.10 接口vs.类
 第7章 模块化架构
 7.1 模块化设计的类型
 7.2 组件定位和交互
 7.3 编写扩展点
 7.4 循环依赖的必要性
 7.5 满城尽是lookup
 7.6 lookup的滥用
 第8章 设计api时要区分其目标用户群
 8.1 c和java语言中如何定义api和spi
 8.2 api演进不同于spi演进
 8.3 java.io.writer这个类从jdk 1.4到jdk 5的演进
 8.4 合理分解api
 第9章 牢记可测试性
 9.1 api设计和测试
 9.2 规范的光环正在褪去
 9.3 好工具让api设计更简单
 9.4 兼容性测试套件
 第10章 与其他api协作
 10.1 谨慎使用第三方api
 10.2 只暴露抽象内容
 10.3 强化api的一致性
 10.4 代理和组合
 10.5 避免api的误用
 10.6 不要滥用javabeans那种监听器机制
 第11章 api具体运行时的一些内容
 11.1 不要冒险
 11.2 可靠性与无绪
 11.3 同步和死锁
 11.3.1 描述线程模型
 11.3.2 java monitors中的陷阱
 11.3.3 触发死锁的条件
 11.3.4 测试死锁
 11.3.5 对条件竞争进行测试
 11.3.6 分析随机故障
 11.3.7 日志的高级用途
 11.3.8 使用日志记录程序控制流程
 11.4 循环调用的问题
 11.5 内存管理
 第12章 声明式编程
 12.1 让对象不可变
 12.2 不可变的行为
 12.3 文档兼容性
 第三部分 日常生活
 第13章 极端的意见有害无益
 13.1 api必须是漂亮的
 13.2 api必须是正确的
 13.3 api应该尽量简单
 13.4 api必须是高性能的
 13.5 api必须绝对兼容
 13.6 api必须是对称的
 第14章 api设计中的矛盾之处
 14.1 api设计中的自相矛盾
 14.2 背后隐藏的工作
 14.3 不要害怕发布一个稳定的api
 14.4 降低维护费用
 第15章 改进api
 15.1 让有问题的类库重新焕发活力
 15.2 自觉地升级与无意识地被迫升级
 15.3 可选的行为
 15.4 相似api的桥接和共存
 第16章 团队协作
 16.1 在提交代码时进行代码评审
 16.2 说服开发人员为他们的api提供文档
 16.3 尽职尽责的监控者
 16.4 接受api的补丁
 第17章 利用竞赛游戏来提升api设计技巧
 17.1 概述
 17.2 第一天
 17.2.1 非public类带来的问题
 17.2.2 不可变性带来的问题
 17.2.3 遗漏实现的问题
 17.2.4 返回结果可能不正确的问题
 17.2.5 第一天的解决方案
 17.3 第二天
 17.3.1 我想修正犯下的错误
 17.3.2 第二天的解决方案
 17.4 第三天:评判日
 17.5 也来玩下这个游戏吧
 第18章 可扩展visitor模式的案例
 18.1 抽象类
 18.2 为改进做好准备
 18.3 默认的遍历
 18.4 清楚地定义每个版本
 18.5 单向改进
 18.6 使用接口时的数据结构
 18.7 针对用户和开发商的visitor模式
 18.8 三重调度
 18.9 visitor模式的圆满结局
 18.10 语法小技巧
 第19章 消亡的过程
 19.1 明确版本的重要性
 19.2 模块依赖的重要性
 19.3 被移除的部分需要永久保留吗
 19.4 分解庞大的api
 第20章 未来
 20.1 原则性内容
 20.2 无绪长存
 20.3 api设计方法论
 20.4 编程语言的演变
 20.5 教育的作用
 20.6 共享
 参考书目

 

 



内容摘要
   《软件框架设计的艺术》帮助你解决api 设计方面的问题,共分3 个部分,分别指出学习api 设计是需要进行科学的训练的、java 语言在设计方面的理论及设计和维护api 时的常见情况,并提供了各种技巧来解决相应的问题。

    《软件框架设计的艺术》作者是netbeans 的创始人,也是netbeans 项目最初的架构师。相信在api 设计中遇到问题时,本书将不可或缺。

    《软件框架设计的艺术》适用于软件设计人员阅读。

   相关推荐   

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP