当前位置:首页 > 工业技术
Live软件开发面面谈
Live软件开发面面谈

Live软件开发面面谈PDF电子书下载

工业技术

  • 电子书积分:12 积分如何计算积分?
  • 作 者:潘俊编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2018
  • ISBN:9787302501565
  • 页数:309 页
图书介绍:本书以众多软件产品和技术的成功和失败为实例,比较和分析竞争者的优劣势,以期从历史中获得一些启示和教训,从软件开发行业快速跳动的脉搏中读出一些共性和规律。内容涉及软件开发、产品方向和时代趋势等多个主题,包括客户端与浏览器、文档型数据库与关系型数据库、RAD(快速开发)的利与弊、兼容性与创新、过度安全、用户界面的重要性等等。
《Live软件开发面面谈》目录

第1章 接口 1

1.1 使用接口编程 2

1.2 依赖反转原则 3

1.3 如何实现 5

1.3.1 工厂模式 9

1.3.2 服务定位器模式 10

1.3.3 依赖注入 14

1.4 真的实现了吗 19

1.4.1 依赖的传递性 19

1.4.2 依赖的形式 19

1.5 真正实现 21

1.5.1 配置文件 21

1.5.2 配置代码 23

1.5.3 惯例先于配置 24

1.5.4 元数据 25

1.5.5 实现消除依赖的方法的本质 31

1.6 有必要针对接口编程吗 32

1.6.1 针对接口编程的成本 32

1.6.2 接口的意义 33

1.6.3 何时针对接口编程 35

第2章 事件 37

2.1 控制反转 38

2.2 观察者模式 39

2.3 Java中的事件编程 43

2.3.1 通用的事件发布者和收听者 43

2.3.2 通用事件收听者的问题 46

2.3.3 Swing用户界面里的事件编程 47

2.3.4 专用事件收听者的问题 54

2.3.5 彻底地面向对象 59

2.3.6 Java 8带来的福音 62

2.3.7 这一切背后仍然是对象 64

2.4 C#中的事件编程 66

2.4.1 代理 66

2.4.2 事件 67

2.5 JavaScript中的事件编程 71

2.6 事件编程的其他细节 73

2.6.1 收听者的执行顺序 73

2.6.2 收听者是否在单独的线程执行 74

2.6.3 控件层次中的事件传播 74

第3章 MVC 76

3.1 输入、处理和输出 77

3.1.1 冯·诺依曼架构 78

3.1.2 矩阵运算器和IPO 79

3.1.3 矩阵运算器和IPO的升级版 81

3.2 程序与用户的交互 83

3.2.1 三类应用程序 84

3.2.2 持续交互带来的变化 85

3.2.3 图形用户界面带来的变化 87

3.3 设计理念 88

3.3.1 关注点分离 89

3.3.2 模型 89

3.3.3 模型和视图的分离 91

3.3.4 控制器 91

3.3.5 模型视图 93

3.3.6 事件发布者与收听者之间的依赖 94

3.3.7 合作方式 95

3.4 桌面应用程序与移动App 100

3.4.1 控制器和视图在代码单元上独立 104

3.4.2 控制器、视图和模型之间的相互引用 109

3.4.3 控制器和视图合一 111

3.4.4 移动App 112

3.5 Web应用程序 113

3.5.1 Web应用程序简史 113

3.5.2 服务器端的MVC 116

3.5.3 前端控制器与控制器 117

3.5.4 视图 119

3.5.5 模型 119

3.5.6 依赖注入 121

3.5.7 浏览器端的MVC 123

3.6 类型转换、校验和数据绑定 129

3.7 MVC的意义 130

第4章 界面 132

4.1 以用户界面为中心VS以业务逻辑为中心 133

4.2 设计视图VS源代码视图 134

4.3 自定义控件VS复合控件 136

4.4 命令式语言VS声明式语言 138

4.5 内容与外观的分离 142

4.6 基于请求的框架VS基于组件的框架 143

4.7 极简主义 145

4.7.1 用户界面上的极简主义 146

4.7.2 删减的对象 147

4.7.3 方法和特征 149

4.7.4 防止过度 151

第5章 数据库 153

5.1 多值与复合属性 154

5.1.1 关系型数据库模式的第一范式和第二范式 155

5.1.2 范式与复合、多值属性 157

5.1.3 关系型数据库中的多值和复杂数据类型 162

5.2 数据库模式 163

5.3 数据建模 167

5.3.1 抽象的数据建模 168

5.3.2 针对具体数据库的建模 169

5.4 视图 172

5.4.1 索引 173

5.4.2 关系型数据库中的视图 175

5.4.3 文档型数据库中的视图 176

5.5 可伸缩性 188

5.6 可得性与BASE 190

5.7 编程接口 193

5.8 总结 194

第6章 权限 195

6.1 身份验证 196

6.1.1 验证类型 196

6.1.2 验证属性 197

6.1.3 知识要素验证 198

6.2 Web应用的验证 199

6.2.1 验证与会话 199

6.2.2 第三方身份验证 201

6.3 授权 204

6.4 基于角色的存取控制 207

6.4.1 用户与权限 207

6.4.2 群组与角色 207

6.4.3 权限与操作 210

6.4.4 实现 213

6.5 基于属性的存取控制 214

6.5.1 资源与存取方式 215

6.5.2 从权限到属性 216

第7章 异类 220

7.1 快速开发 221

7.2 Lotus Notes是什么 223

7.3 技术架构 231

7.3.1 数据库 231

7.3.2 客户端与服务器 238

7.4 应用程序开发 247

7.4.1 两种路径 248

7.4.2 用户界面驱动的快速开发 249

7.4.3 事件驱动编程 253

7.4.4 直接使用文档对象编程 255

7.4.5 权限模型 258

7.4.6 角色和隐藏公式 260

7.4.7 三类应用程序 262

7.4.8 多种编程语言 265

7.5 Lotus Notes的衰亡及其教训 267

7.5.1 对用户主观体验重视不够 268

7.5.2 快速开发的缺陷 270

7.5.3 嵌入式开发的缺陷 271

7.5.4 数据库和应用程序合一 271

7.5.5 创新乏力 273

7.6 给现有Lotus Notes客户的建议 275

第8章 兴衰 277

8.1 软件的更新和生命 279

8.1.1 兼容性 281

8.1.2 兼容性与创新 282

8.2 客户端的兴衰 284

8.2.1 客户端与服务器 284

8.2.2 远程过程调用和数据传输协议 286

8.2.3 客户端的胖瘦趋势 288

8.2.4 客户端与浏览器 290

8.2.5 浏览器与App 291

8.2.6 理想的客户端应用程序 295

8.2.7 开发人员体验VS用户体验 296

8.3 Lotus Notes的历史 297

8.3.1 前身 297

8.3.2 青少年:版本1~3 299

8.3.3 中年:版本4~6 300

8.3.4 老年:版本7~9 303

参考文献 307

相关图书
作者其它书籍
返回顶部