模块化 - 大脑开始控制复杂的世界的时刻

方法和类是大脑理解和模块化世界的核心。方法是捆绑行为的过程,类是看待对象的框架。

밤치 108
  • 方法和类不仅仅是简单的语法,而是“组装地球的大脑方式”
    我们每天生活在一个非常复杂的世界中。
    但大脑将这个复杂的世界捆绑成几个“单位(模块)”以便理解。

  • 人类通过“单词”模块学习语言

  • 通过“句子”模块表达思想

  • 通过“概念”模块对世界进行分类

博士朴文浩说学习的核心很简单。

“大脑制作模块,只有组装模块才能理解世界。”

在编码中,这些模块就是“方法(method)”和“类(class)”。

一旦理解这一点,
代码不再是简单的指令,
而是开始看起来像是“我们生活的世界的缩影”。


1. 方法(Method): “将思想压缩为一个功能的大脑技术”

方法是大脑将复杂行为捆绑为一个单元的过程。

让我们举个例子。

  • 喝咖啡
  • 走路
  • 摇手

这些都是独立的“行为模块”。
人类通过组合这些模块来度过一天。

编码也是一样的。

方法是将“一个行为”用代码捆绑在一起的块。


学习方法时大脑发生的变化

  • 思维被分割
  • 执行单元变得可调整
  • 可以处理“部分”而不是整体
  • 能够分解复杂问题并解决

这不是简单的语法。
这是大脑结构发生变化的时刻。


方法示例: 创建自己的行为

def greet
  puts "你好!今天也要加油!"
end

greet
greet

发生了什么?

  • def greet ... end之间定义了“打招呼”行为的代码
  • 调用greet会执行该行为
  • 换句话说,定义一次,可以随意调用

这就是“模块化的第一步”,
大脑一旦将行为捆绑为一个模块。


朴文浩式框架解读

  • 形成框架: “可以将行为捆绑为一个单元”
  • 立体化: 大脑立体感知代码块
  • 强化提取: 多次调用greet以自由调用行为
  • 模块化: 可以将更大的程序分解为小功能单元

实践1: 创建3个自定义行为

将每个行为制作为方法:

  1. encourage – 输出鼓励我的句子
  2. goal_today – 输出今天的目标一句话
  3. praise – 输出表扬的句子

然后按照所需顺序组合:

encourage
goal_today
encourage
praise

你刚刚
学会了如何在大脑中创建和组装行为模块。
这就是学习的本质。


2. 类(Class): “第二个大脑看待世界的对象”

如果方法是“行为”,
那么类就是“存在(object)”。

构成世界的是
一个个“实体(对象)”。

  • 人类
  • 汽车
  • 博客文章
  • 用户
  • 购物篮

所有这些都是“对象(object)”,
编码中的类正是设计这些对象本质的模板。


类的重要性

一旦理解类,
大脑就这样说。

“啊,我可以将世界分解为‘对象’,
并为每个对象赋予‘行为’。”

在这一刻,
复杂的世界突然具有了明确的结构。

这就是
朴文浩所说的“立体信息结构”。


类示例: 创建人类对象

class Person
  def initialize(name)
    @name = name
  end

  def greet
    puts "#{@name},今天也要加油!"
  end
end

me = Person.new("夜间编程")
me.greet

代码中发生的“大脑进化”

1) class Person

→ “定义Person这个存在”框架

2) initialize

→ 在对象诞生时执行的构造函数(constructor)

3) @name

→ 每个对象独有的属性(attribute)
(即,大脑中所说的“特征”模块)

4) greet

→ 该对象拥有的“行为模块”

5) me = Person.new("夜间编程")

→ 实际创建“实例”
(在现实世界中诞生了‘一个我’)


朴文浩式框架解读

  • 将世界分解为对象 → “人类”, “汽车”, “文章”, “评论”
  • 对象具有特征@name, @age, @title
  • 对象行为greet, drive, publish
  • 对象相互作用
  • 这样一来,世界开始呈现出结构化·立体化的样子

这不仅仅是简单的编码概念,
而是大脑的世界模型在扩展的过程


实践2: 创建自己的对象

主题: MyGoal(我的目标对象)

尝试按照以下条件自己制作。

类名

MyGoal

属性

  • 目标名称
  • 截止日期

行为

  1. info
    → 输出“目标: OOO, 截止: OOO”
  2. encourage
    → 输出“这个目标,你完全可以实现!”

示例执行流程

g = MyGoal.new("学习Rails", "2025-01-31")
g.info
g.encourage

一旦制作,
“我的目标”不再是抽象的句子,
而是在大脑中存储为一个对象。
这就是学习的本质。


3. 模块化带来的真正变革

— 现在你可以看到“可组装的世界”

方法 → 行为的模块化
类 → 存在的模块化

当这两者相遇时,
你不再是一个列出代码的人。

你是
将世界分解为对象,
赋予对象行为,
组装对象以创建系统的人

在那一刻,心跳加快。
因为从此
从“参与他人创造的世界”中
变成了“创造自己世界的人”