认知设计
---

第一次意识到这本书很有用的时候，是我在策划一个视频。第二次，则是我在计划写一本书的时候。

在《认知设计》一书中，提到了下面的学习体验，即"流"(Flow)。而在我们学习的过程中，我们也会有类似的学习过程。

![Learn Design](chapters/chapter5/learn-design.png)

如在早期我学习Emcas和GNU/Linux的时候，也曾经放弃过，虽然在当时我已经读过Linux内核。然而，在应用之前进行理论学习并没有卵用。

通常我们会有类似于下面的学习体验，对于一本书来说有下面的体验似乎也是一件很不错的事:

1. 在最开始学习的时候，我们需要一点理论基础，以及我们需要学点什么。
2. 然后，我们需要构建一个简单可用的系统，以获取信心。如果我们在这一步没有想象中，那么简单，那么我们可能会放弃学习。或者等到某个时期成熟的时刻，如在我开始学习《设计模式》的时候，那么本书的高度太高了。直到有一天，我了解到了一本叫《Head First设计模式》的书，才重新把GoF的书看了一遍，发现其实也没有想象中的难。
3. 接着在我完成了某个功能之后，那么我可能继续学习某个理论，用于支撑我的下一步计划。
4. 在那之后，我觉得这一步可能也不是那么难，因为已经有了前面的基础。如果在一步失败的时候，那么我们可能会继续寻找某些可靠的方案，又或者是理论支撑。
5. 。。。
6. 直到有一天，我们来到了一个瓶颈的前面，现有的方案已经不满足我们的需求。对于这个问题，我们可能已经没有一个更好的解决方案。于是，我们可能就需要创建一个轮子，只是在这时，我们不知道怎样去造轮子。
7. 于是我们开始学习造轮子。
8. ....

只有当我们保持一个学习的过程，才会让我们在这一步步的计划中不会退缩，也不能退缩。
