从哪里开始学习Seaside内部?

Jos*_*sto 6 smalltalk seaside

我最近非常迷恋Seaside web框架.我想开始深入研究源代码,找出它是如何工作的.不幸的是,有很多课程,我不知道从哪里开始!有谁知道我应该先尝试理解哪些课程?我假设有一个路由类,我应该从...开始

Jul*_*ian 3

斯蒂芬给出了很好的建议。基本上,如果您了解 Seaside 3.x 中的 Seaside-Core 包,您就会了解所有内容如何组合在一起:

  • Canvas 的东西都是来自 Seaside-Core-Rendering 类别的 WARenderer 的特定实现
  • 会话/应用程序内容都是来自 Seaside-Core-RequestHandling 类别的 WARequestHandler 的特定实现
  • 组件/任务内容都是 Seaside-Core-Presenters 类别中 WAPainter 的实现

实际上有两种方法来研究框架。要么从您感兴趣的具体事物之一(例如 WAComponent)开始,然后逐步向上到超类。然后对斯蒂芬提到的其他每个课程重复一遍。

我建议采用另一种方式:从我在 Session-Core 中提到的三组抽象类开始。一起查看它们(与 HTTP 和 Document 类结合)将使您了解通用概念以及它们如何组合在一起形成框架。您可以根据需要查看每个具体实现,以将通用概念与实际实现联系起来。

WAServerAdaptor 的子类构成了 Seaside 中请求处理的起点,其中来自特定 Web 框架的请求被转换为 Seaside 请求并分派到适当的处理程序。回调也非常重要,位于 Seaside-Core-Callbacks 中。

如果您了解 Seaside-Core 中的所有内容,那么您基本上就了解了该框架在高层次上的工作原理。一旦您对基本核心概念有了广泛的了解,您就可以通过更详细地检查具体实现来深入了解您感兴趣的每个领域。但请记住,Seaside-Core 中的所有内容都旨在成为子类并插入在一起以扩展框架。