어떻게이 같은 데이터 액세스 코드에 대한 생각 : 개인적으로는 C#에서 민첩한 원칙, 패턴, 및 관행 (SQL Server와) 데이터 액세스 부분처럼 당신을 어떻게
public void AddCusotmer(Cusotmer customer)
{
//save customer into database
...
// save payment type
SavePaymentType(customer);
//save other data
...
}
private void SavePaymentType(Customer customer)
{
if(customer.PaymentType is XXXPayment)
{
var payment = customer.PaymentType as XXXPayment;
//save payment to XXXPayments table in db
...
}
else if(customer.PaymentType is YYYPayment)
{
var payment = customer.PaymentType as XXXPayment;
//save payment to YYYPayments table in db
...
}
...
}
, 나는 아니에요 이런 식으로 코드를 잘 사용하면 ("is"를 사용하여 무엇을 할 것인지 결정할 수 있습니다), 저자 인 Robert Martin은 DAL에서만 가능하므로 OCP를 약간 위반해도 괜찮습니다.
어떻게 생각하십니까?
그래, 나도 당신의 해결책에 더 기분이 좋습니다. – deerchao