1

我正在开发一个注册系统。要注册帐户,用户必须填写表格。他们可以注册为个人或公司。此外,用户可以选择注册类型,例如 Pro 或 Basic。

公司注册也包括个人注册,但作为一家公司,您可以通过某些注册类型(但不是全部)获得 2 比 1 的优惠。

这些注册类型中的每一种都有与之相关的成本。他们还能够选择一个区域,每个区域都有相关的成本。

现在,如果他们选择基本注册类型,则只需向他们收取该地区费用的一半。

我正在寻找有关如何处理这个看似复杂的注册的任何建议。我计划采用面向对象的方法来完成这项任务。

也许我只是过度思考手头的挑战,但非常感谢任何建议或反馈。

4

2 回答 2

2

我建议使用决策表表驱动设计)。显然,无论如何您都应该将价格存储在某种配置表中。

于 2009-11-16T21:48:28.443 回答
0

返回 AccountIndividual() 或 AccountCompany() 实例的 Account() 工厂类。

Account() 工厂具有 $type 属性和一个 Registration() 对象列表,表示与给定帐户关联的注册种类。

Registration() 工厂类返回两个或多个具有适当属性的 RegistrationXYZ() 子类,包括 $region 属性。

您可能需要也可能不需要创建 Region() 类。

就个人而言,我会担心先仔细设计数据库层,然后再担心业务逻辑。

于 2009-11-16T21:57:00.027 回答