2012-05-01 5 views
1

general (또는 util 함수)를 어디에 두어야할까요? 예를 들어어디에서 util 함수를 넣어야합니까? - OOP 모범 사례

: 점점 paymentList에 대한

public class Credit { 
    private Integer _duration;    
    private Double _interestRate;   
    private Integer _creditSum;  
    private PaymentStream _paymentStream; 
    private Date _openDate;   
} 

PaymentStream impements 전략 패턴.

질문 : construnctor (duration, interestRate, creditSum, paymentStream, openDate)가 있습니다.

  • getCreditDuration (creditSum, monthlyPayments, interestRate)
  • getCreditSum (montlyPayment, interestRate, 기간)
  • 분명히 등

, 그들이가 될 수 없다 : 그러나 나는 또한 따라와 기능을 원하는 내가 생성자에 대한 정보가 충분하지 않아 신용 인스턴스. 그래서 그들은 어디에 두어야합니까?

추가 : 또한 db에 모든 계산 (getCreditDuration 등)을 저장해야합니다. 그래서, double (int)을 반환하는 정적 함수라면 DB에 저장하는 좋은 방법을 이미지 할 수 없습니다. 어떤 물건을 구해야합니까?

요구 사항은 다음과 같습니다. 사용자는 기간 계산과 신용 합계 계산 (및 기타) 중에서 선택할 수 있습니다. 계산을위한 별도의보기가 있습니다. 사용자가 "계산 버튼"을 클릭 할 때마다 계산 결과를 DB에 저장해야합니다. 사용자는 모든 계산이 포함 된보기를 가질 수 있으며, 여기서 그는 모든 항목을 클릭 할 수 있습니다.

예를 들어

(с 값이 계산되는 의미) : 그들은 비 저장 방법 논리가 명확하게 신용 객체의 개념을 연결한다 (그들이에 근무하는 모든 데이터를 매개 변수로 전달)가 있습니다

Sum  Duration Interest Payment 
10000 2 yrs 12%  1000(с) -> opens view to calculate monthly payment 
12000(с) 3 yrs 10%  1200  -> opens view to calculate credit sum 
+0

누구나 계산을 수행 할 때마다 매번 특별한 경우없이 데이터베이스에 레코드를 작성해야합니다. 매우 이상한 요구 사항입니다. 필자의 본능은 (예를 들어 감사 목적으로) 영속성이 이러한 정적 메서드를 호출하는 별도의 클래스에 속한다는 것입니다. 귀하의 요구 사항을 좀 더 설명해주십시오. 아마도 더 나은 대답을 찾을 수있을 것입니다. – djna

+0

필요한 기능을 제공하는 공동 작업 할 객체를 전달하십시오. –

답변

2

. 따라서 한 가지 방법은 Credit 클래스의 정적 메서드로 만드는 것입니다.

+0

클래스 선언을 어지럽히 기보다는 cpp 파일의 익명 네임 스페이스에 넣을 수 있습니다. –