【关于银行系统设计问题】
请教诸位这么一个问题,一个假象的银行帐户管理系统中:
* 帐户(Account)分为普通帐户,VIP帐户和信用卡帐户三种.
当普通账户连续一年内账户存款保持10万以上,则填一份申请单即可申请为VIP账户。
* 每个帐户都可以执行取钱,存钱,注销三种操作
* 关于取钱操作的细节:
普通帐户每次取钱限额为1000元,不能透支
VIP帐户每次取钱限额为3000元,不能透支
信用卡帐户每次取钱限额为500元,可以透支
* 另外每个帐户有四种可能的状态:新建、正常、冻结、挂失
* 帐号处于不同状态时对于上面提到的三种操作会产生影响:
新建状态时不能执行注销操作
挂失状态时不能执行存钱、取钱操作
冻结状态时不能执行注销操作,如果是普通账户或者信用卡帐户则不能进行取钱
如果是VIP账户,可以取钱但是必须先开一份保证书,且金额每次不得超过2000, 且冻结后一个月内取钱次数不能超过5次。
------解决方案--------------------
传说中的伸手党?
你先设计一个基类,实现所有账户类型的共同字段和方法
然后再通过继承或实现,派生出新的特殊账户,再生成新的字段和方法
最后放在操作里面
------解决方案--------------------把通用的行为抽象出来,然后根据具体,创建接口或者抽象类(或则用什么模式之类的),先多想下。