Live软件开发面面谈PDF电子书下载
- 电子书积分:12 积分如何计算积分?
- 作 者:潘俊编著
- 出 版 社:北京:清华大学出版社
- 出版年份:2018
- ISBN:9787302501565
- 页数:309 页
第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
- 《区块链DAPP开发入门、代码实现、场景应用》李万胜著 2019
- 《软件工程》齐治昌,谭庆平,宁洪编著 2019
- 《高含硫气藏开发腐蚀控制技术与实践》唐永帆,张强 2018
- 《主题公园开发与管理》梁增贤编著 2019
- 《中南高校档案文化资源开发综合研究》涂上飙 2019
- 《普通高等职业教育计算机系列规划教材 Android Studio移动应用开发基础》(中国)吴绍根 2019
- 《高中压配电网规划 实用模型、方法、软件和应用 上》王主丁著 2020
- 《Cocos Creator微信小游戏开发实战》王绍明编著 2020
- 《SECC软件工程师认证课程》北京泓深教育科技有限公司 2019
- 《软件工程综合实践案例》岳希主编 2019
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《流体力学》张扬军,彭杰,诸葛伟林编著 2019
- 《大学计算机实验指导及习题解答》曹成志,宋长龙 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《大学生心理健康与人生发展》王琳责任编辑;(中国)肖宇 2019
- 《大学英语四级考试全真试题 标准模拟 四级》汪开虎主编 2012
- 《大学英语教学的跨文化交际视角研究与创新发展》许丽云,刘枫,尚利明著 2020
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《复旦大学新闻学院教授学术丛书 新闻实务随想录》刘海贵 2019
- 《大学英语综合教程 1》王佃春,骆敏主编 2015
- 《大学物理简明教程 下 第2版》施卫主编 2020
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019