这是最正确的方法

时间:2010-11-01 10:22:10

标签: oop programming-languages

我有一个会员网站,无论什么语言或框架都是一般问题。会员可以从内部和外部取消订阅。当成员在我的内部时,我将他的userID存储在会话中并调用一个名为CancelSubscription()的函数,该函数从会话中获取userID并调用DB来取消订阅。外部使用来自时事通讯的电子邮件,用户可以点击该电子邮件来关闭订阅。

问题是什么是正确的,基于你的坏或好的经验方法来创建这两个功能。

方法:

  1. 使用userID(整数)创建CloseSubscription,并使用userEmail(string)作为单独的函数。
  2. 在将字符串作为参数获取时为CloseSubscription创建重写函数。
  3. 创建AddUserIDFromUserEMail获取用户ID的函数,保存在会话中,然后调用CloseSubscription。
  4. 或其他......

    感谢

1 个答案:

答案 0 :(得分:1)

这些解决方案都不是,因为(对于3中的每一个):

  1. 您将复制删除代码 2删除方法
  2. 令人困惑,有一天 (无意)隐式转换 会打破它。
  3. CloseSubscription不应该依赖 会话ID的存在。如果你以后想要怎么办? 离线删除订阅?
  4. 因此:

    4:使用userID(整数)创建CloseSubscription。

    创建CloseSubscriptionEmail(电子邮件为字符串),查找UserID然后调用CloseSubscription。