登入帳戶  | 訂單查詢  | 購物車/收銀台(0) | 在線留言板  | 付款方式  | 聯絡我們  | 運費計算  | 幫助中心 |  加入書簽
會員登入   新用戶註冊
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2023年度TOP分類閱讀雜誌 香港/國際用戶
最新/最熱/最齊全的簡體書網 品種:超過100萬種書,正品正价,放心網購,悭钱省心 送貨:速遞 / 物流,時效:出貨後2-4日

2024年10月出版新書

2024年09月出版新書

2024年08月出版新書

2024年07月出版新書

2024年06月出版新書

2024年05月出版新書

2024年04月出版新書

2024年03月出版新書

2024年02月出版新書

2024年01月出版新書

2023年12月出版新書

2023年11月出版新書

2023年10月出版新書

2023年09月出版新書

『簡體書』从零学Java设计模式 [美]米罗斯拉夫·威格纳

書城自編碼: 4033674
分類: 簡體書→大陸圖書→計算機/網絡程序設計
作者: [美]米罗斯拉夫·威格纳
國際書號(ISBN): 9787111759782
出版社: 机械工业出版社
出版日期: 2024-09-01

頁數/字數: /
書度/開本: 16开 釘裝: 平装

售價:NT$ 454

我要買

share:

** 我創建的書架 **
未登入.



新書推薦:
治盗之道:清代盗律的古今之辨
《 治盗之道:清代盗律的古今之辨 》

售價:NT$ 556.0
甲骨文丛书·剑桥世界暴力史(第一卷):史前和古代世界(套装全2册)
《 甲骨文丛书·剑桥世界暴力史(第一卷):史前和古代世界(套装全2册) 》

售價:NT$ 959.0
甲骨文丛书·中华早期帝国:秦汉史的重估
《 甲骨文丛书·中华早期帝国:秦汉史的重估 》

售價:NT$ 1367.0
欲望与家庭小说
《 欲望与家庭小说 》

售價:NT$ 449.0
惜华年(全两册)
《 惜华年(全两册) 》

售價:NT$ 320.0
甲骨文丛书·古代中国的军事文化
《 甲骨文丛书·古代中国的军事文化 》

售價:NT$ 454.0
中国王朝内争实录(套装全4册):从未见过的王朝内争编著史
《 中国王朝内争实录(套装全4册):从未见过的王朝内争编著史 》

售價:NT$ 1112.0
半导体纳米器件:物理、技术和应用
《 半导体纳米器件:物理、技术和应用 》

售價:NT$ 806.0

編輯推薦:
设计模式的种类繁多,并且不断有新的模式出现,本书涵盖了23种传统的设计模式、11 种较为常见的模式,以及8种适用于多线程环境的并发模式。另外,本书还简要介绍了13种负面模式(即反模式)。作者讲解这些模式的时候,不仅给出了简洁、直观的范例代码,而且还利用UML类图与JFR工具展示了运用该模式的程序所具备的架构及运行细节,让读者能够更全面地了解模式对代码结构的影响,以及模式与Java虚拟机的交互情况。
內容簡介:
本书以实用的设计模式为例,讲解了Java近年来在改善语法方面取得的进展,同时在实现这些模式的过程中展示了语言特性、设计模式与平台效率之间的关系。本书涵盖23种传统的设计模式、11种较为常见的模式,以及8种适用于多线程环境的并发模式。另外,本书还简要介绍了15种反模式。作者讲解这些模式的时候不仅给出了简洁、直观的范例代码,而且还利用UML类图与JFR工具展示了运用该模式的程序所具备的架构及运行细节,让读者能够更全面地了解模式对代码结构的影响,以及模式与Java虚拟机的交互情况。本书的特点在于把Java这种成熟的编程语言以及该语言最近新增的特性与各种设计模式结合起来,告诉读者怎样充分发挥Java的特性与优势,从而更好地实现设计模式,避免陷入空谈概念而无法落实的境地。
關於作者:
米罗斯拉夫·威格纳(Miroslav Wengner)是一位热衷于弹性分布式系统与产品质量的软件工程师。他参与了Robo4J项目(一个针对机器人及物联网的响应式软实时框架),还为OpenJDK做出了贡献,并参与了其他开源技术项目。他致力于构建弹性、可扩展的解决方案。他入选了Java Champions Program,被评为JavaOne Rockstar,也是JCP的执行委员会委员。他目前在OpenValue公司担任首席软件工程师,工作之余,他还在JavaOne、Devoxx等技术会议和博客上分享自己的心得。他很看好Java生态系统,并帮助它变得更好。
目錄
译者序

前 言
审校者简介
第一部分 设计模式与Java平台
的功能
第1章 软件设计模式入门 3
1.1 技术准备 3
1.2 编程:从符号到程序 3
1.3 OOP与APIE 5
1.3.1 封装—只公布那些必须
公布的信息 6
1.3.2 继承—在应该创造新类
的时候创造 6
1.3.3 多态—根据需要表现出
不同的行为 7
1.3.4 抽象—从细节中提取一套
标准功能 9
1.3.5 把抽象、多态、继承、封装
这四个概念贯穿起来 11
1.4 SOLID设计原则 12
1.4.1 单一功能原则—每个类
只负责一件事 13
1.4.2 开闭原则 13
1.4.3 里氏替换原则—子类必须
能够当作超类来使用 14
1.4.4 接口隔离原则 15
1.4.5 依赖反转原则 17
1.5 设计模式为何如此重要 18
1.6 设计模式能够解决哪些问题 18
1.7 小结 20
1.8 习题 21
1.9 参考资料 21
第2章 Java平台 22
2.1 技术准备 22
2.2 Java是如何诞生的 22
2.3 Java平台的模型与功能 23
2.3.1 JDK 24
2.3.2 JRE 25
2.3.3 JVM 25
2.4 垃圾收集机制与Java内存模型 30
2.4.1 JMM 30
2.4.2 GC与自动内存管理 32
2.5 Java的核心API 35
2.5.1 原始类型与包装器类型 36
2.5.2 与String有关的API 37
2.5.3 数组 39
2.5.4 Java集合框架 40
2.5.5 Math API 42
2.6 函数式编程与Java 43
2.6.1 lambda与函数接口 43
2.6.2 用匿名类与lambda表达式充
当函数接口并在Stream API
中使用 44
2.7 Java的模块系统 45
2.8 Java语言在第11~17版之间
添加的特性 48
2.8.1 允许使用var关键字声明
lambda表达式的参数
(Java SE 11,JEP-323) 48
2.8.2 switch表达式(Java SE 14,
JEP-361) 49
2.8.3 文本块(Java SE 15,
JEP-378) 49
2.8.4 instanceof运算符的模式匹配
功能(Java SE 16,JEP-394) 50
2.8.5 record(Java SE 16,
JEP-395) 50
2.8.6 sealed类(Java SE 17,
JEP-409) 50
2.8.7 Java API采用UTF-8作为
默认字符集(Java SE 18,
JEP-400) 51
2.8.8 带有模式匹配功能的switch
(Java SE 18,Second Preview,
JEP-420) 52
2.9 Java的并发 52
2.9.1 从线程到执行器 52
2.9.2 执行任务的两种方式 54
2.10 小结 55
2.11 习题 56
2.12 参考资料 56
第二部分 用Java语言实现
标准的设计模式
第3章 创建型设计模式 61
3.1 技术准备 61
3.2 从类怎么变成对象说起 61
3.3 工厂方法模式—根据输入的
数据创建对象 63
3.3.1 动机 63
3.3.2 该模式在JDK中的运用 63
3.3.3 范例代码 64
3.3.4 模式小结 66
3.4 抽象工厂模式—用适当的
工厂方法创建某个系列的产品 66
3.4.1 动机 67
3.4.2 该模式在JDK中的运用 67
3.4.3 范例代码 67
3.4.4 模式小结 69
3.5 建造者模式—实例化复杂
的对象 70
3.5.1 动机 70
3.5.2 该模式在JDK中的运用 70
3.5.3 范例代码 71
3.5.4 模式小结 72
3.6 原型模式—克隆对象 73
3.6.1 动机 73
3.6.2 该模式在JDK中的运用 73
3.6.3 范例代码 74
3.6.4 模式小结 76
3.7 单例模式—确保某个类只
存在一个实例 77
3.7.1 动机 77
3.7.2 该模式在JDK中的运用 77
3.7.3 范例代码 77
3.7.4 模式小结 79
3.8 对象池模式—提高性能 80
3.8.1 动机 80
3.8.2 该模式在JDK中的运用 80
3.8.3 范例代码 80
3.8.4 模式小结 82
3.9 惰性初始化模式—按需
初始化对象 83
3.9.1 动机 83
3.9.2 该模式在JDK中的运用 83
3.9.3 范例代码 84
3.9.4 模式小结 86
3.10 依赖注入模式—减少类
之间的依赖关系 86
3.10.1 动机 86
3.10.2 该模式在JDK中的运用 87
3.10.3 范例代码 87
3.10.4 模式小结 90
3.11 小结 91
3.12 习题 92
3.13 参考资料 92
第4章 结构型设计模式 93
4.1 技术准备 93
4.2 适配器模式—让不兼容的
对象变得兼容 93
4.2.1 动机 93
4.2.2 该模式在JDK中的运用 94
4.2.3 范例代码 94
4.2.4 模式小结 97
4.3 桥接模式—独立地解耦对象
和开发对象 97
4.3.1 动机 97
4.3.2 该模式在JDK中的运用 97
4.3.3 范例代码 98
4.3.4 模式小结 100
4.4 组合模式—用相同的方式
处理不同的对象 100
4.4.1 动机 100
4.4.2 该模式在JDK中的运用 100
4.4.3 范例代码 101
4.4.4 模式小结 102
4.5 修饰器模式—扩展对象的
功能 102
4.5.1 动机 102
4.5.2 该模式在JDK中的运用 103
4.5.3 范例代码 103
4.5.4 模式小结 105
4.6 外观模式—简化程序与某一群
对象之间的通信逻辑 105
4.6.1 动机 105
4.6.2 该模式在JDK中的运用 105
4.6.3 范例代码 106
4.6.4 模式小结 107
4.7 过滤器模式—根据条件选出
需要的对象 107
4.7.1 动机 107
4.7.2 该模式在JDK中的运用 107
4.7.3 范例代码 107
4.7.4 模式小结 110
4.8 享元模式—跨应用程序
共享对象 110
4.8.
內容試閱
前  言
Java语言是一种工具,能够跟一套相当丰富的平台进行交互,这套平台提供了许多用来开发应用程序的特性。本书以实用的设计模式为例,讲解了Java近年来在改善语法方面取得的进展,同时在实现这些模式的过程中展示了语言特性、设计模式与平台效率之间的关系。大家会看到怎样用这些理论基础提升源代码的效率,令代码更加易于维护与测试。这些内容能够帮助读者应对各类任务,让大家知道如何用可持续且清晰透明的方案处理各种编程难题。
目标读者
本书写给所有求知若渴的软件工程师,他们想要详细了解Java平台以及Java语言的新特性,以求提升软件设计水平。
本书内容
第1章讲解与源代码设计结构有关的基础知识,以及一些能够让代码易于维护、易于阅读的原则。
第2章讲解Java平台这一丰富而强大的工具。该章会详细讲解Java平台的特性、功能和设计,为理解Java设计模式的目标与价值奠定基础。
第3章讲解对象实例化,这是所有应用程序的关键部分。该章介绍了如何在牢记需求的前提下做好对象实例化。
第4章讲解如何编写源代码,以便清楚地表示程序用到的对象之间的关系。
第5章讲解如何编写源代码,让对象可以进行通信和交换信息,同时保持代码透明。
第6章讲解Java平台及其并发环境的本质。理解了这一点,我们就能明白如何利用并发来更好地满足应用程序的需求。
第7章讲解我们在开发应用程序的过程中可能会遇到的反模式。该章将告诉你这些反模式出现的缘由、如何识别反模式,并提出一些消除反模式的办法。
准备工作
为了执行书中的源代码与指令,你需要安装下列工具:
软件/硬件操作系统
(必须安装)Java Development Kit(JDK)17或更新的版本Windows、macOS或Linux
(建议安装)IDE(Integrated Development Environment,集成开发环境)VSCode 1.73.1或更新的版本Windows、macOS或Linux
(必须安装)某种文本编辑器或IDEWindows、macOS或Linux
本书要求安装JDK 17或更新版本。请在操作系统中执行下列命令,以检查系统中是否安装了JDK:
如果用的是Windows系统,那就打开命令提示符(Command Prompt)窗口,并执行java–version命令。
如果用的是Linux或macOS系统,那就在命令提示符(或者终端)界面执行java–version命令。
如果执行结果如下,则说明系统已经安装了JDK:
如果你的计算机还没安装JDK,那就访问https://dev.java/learn/getting-started-with-java/页面,按照其中给出的步骤安装JDK。网页(https://jdk.java.net/archive/)给出了适用于各种操作系统的JDK安装包,你可以从中选择自己想要安装的版本。
请访问https://code.visualstudio.com/download以下载并安装Visual Studio Code(简称VSCode)。
VSCode终端界面的用法参见https://code.visualstudio.com/docs/terminal/
basics。
下载范例代码
书中的范例代码及其更新可以从https://github.com/PacktPublishing/Practical-
Design-Patterns-for-Java-Developers下载。
下载彩色图像
我们还提供了一份PDF文件,书中的截图与彩色图像都能在该文件中找到。它的下载网址是https://packt.link/nSLEf。
排版约定
本书使用了以下排版约定。
代码体:表示文本中的代码字、数据库表名、文件夹名、文件名、文件扩展名、路径名、虚拟URL、用户输入,以及Twitter账户名。例如, “我们来看看开发Vehicle类的一般流程。”
代码块如下所示:
如果某段代码中有一些内容需要强调,那么相关的行或项会加粗:
命令行界面里的输入与输出如下所示:
粗体:表示新术语、重要词汇或出现在屏幕上的文字(例如,菜单或对话框中的文字就会印刷成粗体)。例如,“字节码运行在Java虚拟机(Java Virtual Machine,JVM)中。”
提示或者重要说明
这些内容放在文本框中。

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 台灣用户 | 香港/海外用户
megBook.com.tw
Copyright (C) 2013 - 2024 (香港)大書城有限公司 All Rights Reserved.