Tôi có xu hướng viết thành công các ứng dụng nhỏ gọn có thể đóng gói nhiều logic nghiệp vụ một cách đơn giản và không dự phòng. Tôi có xu hướng tạo ra các phương thức nhỏ, nhưng theo thời gian tôi đến các phương thức có quá nhiều tham số. Tôi biết mọi mã yêu cầu thiết kế của nó, nhưng tôi thấy một mô hình chống trong hành vi của tôi và tôi không chắc chắn đó sẽ là cách tốt nhất để chiến đấu chống lại nó.Làm thế nào để tránh nhiều thông số trong các phương pháp quan trọng của các ứng dụng của tôi?
Một tình huống điển hình sẽ là một cái gì đó như:
public loanStructure CalculateSomeComplicatedInterestRate(enum clientType,
int totalAmout, bool useTaxes, bool doYearlySummary, bool doNotReloadClient, etc)
{
loanStructure ret = new loanStructure();
if (doNotReloadClient) ... ;
...
if (doYearlySummary) GroupResults(ret);
return ret;
}
và bên trong phương pháp này, một cây của các cuộc gọi chuyển tiếp các thiết lập boolean (doYearlySummary, doNotReloadClient, vv) để quy tắc kinh doanh khác nhau mà tác động lên tính.
IE, sự cố không nằm trên thực tế là tất cả các tham số có thể được đóng gói thành đối tượng (bigParameterStructure) ... Tôi không thoải mái với mẫu masterMethod, nhưng việc thực hiện quá tải như CalculateSomeComplicatedInterestRateMonthly và CalculateSomeComplicatedInterestRateYearly sẽ chỉ ẩn riêng CalculateSomeComplicatedInterestRate .... một số vấn đề !!
Trong thô thiết kế đối tượng định hướng sẽ giúp ... nhưng tôi vẫn kết thúc-up có loại phương pháp ở đâu đó trên đối tượng của tôi ...
Vâng guys ... bất kỳ sự giúp đỡ được chào đón.
Pablo.
Logic nghiệp vụ là gì. Nếu nó phức tạp, nó phức tạp, không phải lỗi của bạn. Điều này có vẻ tốt với tôi, trừ khi bạn có ví dụ về điều này trong mã phi logic kinh doanh, quá? –