52 lines
3.9 KiB
Markdown
52 lines
3.9 KiB
Markdown
# Smalltalk-80:从消息到交互系统
|
||
|
||
Smalltalk 把语言、类库和开发工具放进同一个可探索的对象世界。本教程以“消息怎样找到行为”为起点,逐步走到集合、进程、图形与 MVC,帮助你阅读经典系统中的类与方法。
|
||
|
||
**资料范围**:A. Mével、T. Guéguen 著《Smalltalk-80》,Macmillan Education,1987;英文版编辑 Mario Wolczko,翻译 M. J. Stewart。书中说明以 Xerox Version 2 Virtual Image 为基础。用户提供的扫描 PDF 共 190 页,正文印刷页 1–174 对应 PDF 页 12–185;印刷页 p 的 PDF 页为 p + 11。
|
||
|
||
这里是按学习任务重组的中文研究导读,覆盖原书 21 章的主要主题,保留章节与页码定位,不是逐页译本或完整 API 手册。补充示例为本文编写,预期值来自语义推演,未在 Smalltalk 镜像运行。本文没有对某个 Smalltalk 实现仓库做逐文件源码核验;“源码研究”是站点分类,阅读原书后仍需进入对应镜像浏览实际方法。
|
||
|
||
## 选择阅读路线
|
||
|
||
| 目标 | 路线 | 读完能做什么 |
|
||
| --- | --- | --- |
|
||
| 初次接触 | 消息 → 语法 → 类与方法 → 集合 | 读懂表达式,分清返回值与接收者 |
|
||
| 研究语言机制 | 类与方法 → 对象协议 → 反射 | 追踪查找起点、对象身份和类侧行为 |
|
||
| 研究交互系统 | 开发环境 → 图形 → MVC | 追踪一次选择如何改变模型并刷新视图 |
|
||
| 对照原书 | 下方映射表 → 各篇来源说明 | 找到对应章、印刷页和扫描页 |
|
||
|
||
## 教程目录
|
||
|
||
1. [消息与对象:理解执行模型](/docs/source-studies/smalltalk/messages)
|
||
2. [语法与块:读懂一段 Smalltalk](/docs/source-studies/smalltalk/syntax-and-blocks)
|
||
3. [类、方法与元类:行为放在哪里](/docs/source-studies/smalltalk/classes-and-methods)
|
||
4. [对象协议:身份、复制与依赖](/docs/source-studies/smalltalk/object-protocol)
|
||
5. [类的架构与反射:系统怎样描述自己](/docs/source-studies/smalltalk/reflection)
|
||
6. [基础类库:数值、集合与流](/docs/source-studies/smalltalk/collections-and-streams)
|
||
7. [进程与同步:协作执行的对象](/docs/source-studies/smalltalk/processes)
|
||
8. [图形系统:坐标、位图与绘制](/docs/source-studies/smalltalk/graphics)
|
||
9. [开发环境:浏览、检查与调试](/docs/source-studies/smalltalk/live-environment)
|
||
10. [MVC 与曲线案例:连接数据和界面](/docs/source-studies/smalltalk/mvc)
|
||
11. [术语、练习与原书对照](/docs/source-studies/smalltalk/reference)
|
||
|
||
## 原书与新结构
|
||
|
||
| 原章 | 印刷页 | PDF 页 | 本教程 |
|
||
| --- | --- | --- | --- |
|
||
| 1 Introduction;2 Principles | 1–8 | 12–19 | 消息与对象 |
|
||
| 3 Classes;5 Methods | 9–12;21–25 | 20–23;32–36 | 类、方法与元类 |
|
||
| 4 Syntax | 13–20 | 24–31 | 语法与块 |
|
||
| 7 Object | 31–39 | 42–50 | 对象协议 |
|
||
| 8 Architecture of Classes | 40–52 | 51–63 | 类的架构与反射 |
|
||
| 9 Magnitude;10 Numeric;11 Collection;12 Stream | 53–90 | 64–101 | 基础类库 |
|
||
| 13 Processes | 91–95 | 102–106 | 进程与同步 |
|
||
| 14 Point/Rectangle;15 Graphics | 96–117 | 107–128 | 图形系统 |
|
||
| 6 Interface;16–19 Windows/Browsers | 26–30;118–149 | 37–41;129–160 | 开发环境 |
|
||
| 20 User Events;21 MVC | 150–174 | 161–185 | MVC 与曲线案例 |
|
||
|
||
## 阅读约定
|
||
|
||
代码使用 `:=` 表示赋值、`^` 表示方法返回,替代扫描版的箭头符号;字符串用单引号,注释用双引号。`smalltalk` 代码块可复制,但页面不执行它们。历史类名与选择子保留原样,所有平台相关操作均以原书镜像为范围。
|
||
|
||
“现代化”体现在清晰的阅读路线、可搜索文本、代码块、对照表、语义链接与练习。本文不把 1987 年的鼠标操作、字符集、进程调度或 MVC API 当作所有今天实现的共同规范。
|