在注册表模式中使用会话


Using sessions in Registry Pattern

我有一个用户页面,用户可以在其中查看和编辑配置文件。该应用程序不使用ajax。应用程序流程如下:

  1. 我有一个用户类,它从mysql中获取所有数据。我使用这个类来显示用户的配置文件
  2. 用户类的对象存储在注册表类中。基本上我不想再实例化这个类
  3. 当用户单击编辑配置文件按钮时,页面将刷新并使配置文件表单可编辑。在这里,注册表类再次被实例化,因此用户对象丢失。因此,我必须再次调用user类来从mysql获取

使用以下一点是一个好的做法吗:

1) 我可以将注册表类(对象)存储在会话中。所以从任何在另一个页面上,我可以从会话中访问这个注册表类。

2) 正在注册表中注册的对象应该存储在会话中。因此,从任何页面,我都会初始化注册表类,如果我从那里调用用户类,它将首先签入会话。如果在会话中找到对象,则为好或其他它将创建对象。

我见过一些Registry类,但它们并没有在里面实现任何类型的会话

基本上,我的应用程序比这个大得多,所以我只是在上面写了一个小场景。

如果你的对象很大,我会在会话中存储整个对象,如果不是,那么只存储数据。

我不知道你到底有什么(正如你所说的——这只是一小部分,所以我们可以给你建议)。

但是,存储整个巨大的对象,然后只取它比在会话中存储所有数据,然后从头开始重新初始化对象更快(因为它是序列化的)。