올바른 Class는 System, Business Logic 그리고 Data 순서로 설계되어야 한다는 걸 배웠다.
내가 처음에 작성한 잘못된 클래스 생성자는 아래와 같다.
public PinPadOperation(SerialPort serialPort, string cardNum, string totalAmount);
클래스를 생성할 때 Serial Port와 Card Number 그리고 Total Amount를 받아온다.
이 클래스의 생성자가 잘못된 이유는 System과 Data를 한꺼번에 받아온다는데 있다.
이를 고쳐보면
public PinPadOperation(SerialPort serialPort); //생성자를 통한 System 변수 설정
public bool CanUseSerialPort(); //System이 사용가능한지 체크
public void SetPinPadData(string cardNum, string totalAmount); //Input Data를 가지고 작업수행
이렇게 설계되었어야 정상이다.
즉, Business Logic에 필요한 System들을 먼저 설정하고 그것이 정상인지 체크한 후에
Data를 받아들여 Business Logic을 실행하는것이 올바른 클래스 설계라고 한다.
댓글 없음:
댓글 쓰기