以下の銀行口座ドメインがあります。SavingsAccount、LoanAccount、FixedAccount などがあります。1 人のユーザーが複数のアカウントを持つことができます。ユーザーのすべてのアカウントを取得するという新しい機能を追加する必要があります。関数はどこに、どのように記述する必要がありますか?
ソリューションが SOLID 原則 (Open-Closed 原則など) と DDD に準拠していれば素晴らしいと思います。
コードを改善するリファクタリングは大歓迎です。
注: AccountManipulator は、Web サービスを介して Web サイト クライアントによって使用されます。
namespace BankAccountBL
{
public class AccountManipulator
{
//Whether it should beprivate or public?
private IAccount acc;
public AccountManipulator(int accountNumber)
{
acc = AccountFactory.GetAccount(accountNumber);
}
public void FreezeAccount()
{
acc.Freeze();
}
}
public interface IAccount
{
void Freeze();
}
public class AccountFactory
{
public static IAccount GetAccount(int accountNumber)
{
return new SavingsAccount(accountNumber);
}
}
public class SavingsAccount : IAccount
{
public SavingsAccount(int accountNumber)
{
}
public void Freeze()
{
}
}
}
読む: