我是一名学习 Smalltalk 并在 Seaside 开发应用程序的人。
应用程序的第一部分将是所谓的管理方面。在这一部分中,我可以定义/管理应用程序用户可以选择的项目。所有用户定义的所有项目都相同。所以我创建了一个名为sportsController 的类。
我使用了此处定义的单例模式:smalltalk 单例模式:如何初始化实例变量?.
在课堂上,我有:
default
^ Default ifNil: [ Default := self new ]
在我有的实例上:
initialize
sports := OrderedCollection new.
和
sports
^ sports
当我调用视图时,我有:
manageSports
view := SportsAdminView new model: SportsController default
方法“manageSports”被称为回调。当我运行视图时,将执行以下代码:
renderContentOn: html
html anchor
callback: [self addSport];
with: 'Add new sport'.
html
unorderedList: [self model sports
do: [:value | html
listItem: [self renderSport: value on: html]]].
当我运行此#sports 时,它为零。所以有一个 MessageNotUnderstood 通知。所以我可能做错了什么;什么?也就是说有没有更好的方法来做到这一点?主要目标是创建所有会话都使用的类。
顺便说一句,目前我还没有做持久性,除了在图像中。“真正的”持久性将在稍后处理。目前我需要能够添加数据来开发应用程序的客户端。