프로젝트이름 - functional calculator
FuncCalcVO.Java
1 2 3 4 5 6 7 8 | public class FuncCalcVO { // 에서 사용하는 필드변수들을 모아놓음 public String productName; // 상품이름 public int productPrice; // 상품가격 public int quantityOfProduct; // 상품의 양 public int priceOfTheQuantity; // 상품의 10g당 가격 } | cs |
FunctionEx_01.Java
1 2 3 4 5 6 7 8 9 | public class FunctionEx_01 { public static void main(String[] args) { FuncCalcServiceV1 fc1 = new FuncCalcServiceV1(); fc1.view(); } } | cs |
FuncCalcServiceV1.Java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | public class FuncCalcServiceV1 { Scanner scan = new Scanner(System.in); FuncCalcVO fcVO = new FuncCalcVO(); FuncCalcServiceV2 fc2 = new FuncCalcServiceV2(); public void view() { // 상품을 어떤 단위로 계산할 것인지 입력하기. // 1. 10g당 가격 보여주기(과자, 과일, 채소, 냉동식품 등) // 2. 100ml당 가격 보여주기() // 3. 개수(piece)당 가격 보여주기 while (true) { System.out.println("번호를 입력하여 원하는 계산 단위를선택하세요."); System.out.println("======================================="); System.out.println("1. 10g단위 2. 100ml단위 3. 개당 단위 4. 종료"); System.out.println("======================================="); int selectNum = Integer.valueOf(scan.nextLine()); if (selectNum == 1) { System.out.println(" 10g 단위를 선택하셨습니다."); fc2.calc10g(); } else if (selectNum == 2) { System.out.println(" 100ml 단위를 선택하셨습니다. "); fc2.calc100ml(); } else if (selectNum == 3) { System.out.println(" 개당 단위를 선택하셨습니다."); fc2.calcPiece(); } else if (selectNum == 4) { System.out.println(" 종료를 선택하셨습니다."); break; } } } } | cs |
FuncCalcServiceV2.Java
니 꼴리는되로 해보다가 다른 git 구경 하면서 가장 맘에 드는 방법 골라써
너무 짧아서 자바용 모니터를 사용할 수 없을듯
FuncCalcVO ((( 이거 이상함?
응 이상해
머가요
/
주석으로 쓴거 전부 코드로 넣으면 된다. Unit = 단위(그램, 밀리리터 변환하는 클래스), Product = 상품에 대한 정보를 갖고 있는 놈, Presenter = 화면에서 명령 입력받아서 convertWith(Unit) 처럼 유닛을 변환하거나 잡다한걸 하거나 그렇게 3개 클래스로 구성하면 됨
VO, Service 의미가 없는데 그걸 붙인 것도 이상하고 상품 정보를 저장하는 놈이 Func.. 이렇게 이름 지어진 것도 이상하고 필드 이름에 product 반복되는 것도 이상함
EX_01 이것도 이상하고 V1이것도 이상하고 버전이름이 클래스 이름에 붙는건 자바클래스_마지막버전, 자바클래스_진짜마지막버전, 자바클래스_진짜마지막제출버전 이렇게 이름 붙이는거잖냐. 그냥 빼야지
요거 네이밍은 표준 스타일이라고 해서 거기에 가이드라인 있으니까 그걸 읽어보면 이름 짓는데 도움될거다. 형이 링크 알려줄테니 기다려봐라
찾기 귀찮다 effectve java 도서관 가서 읽어보자
ㄳㄳ
https://mommoo.tistory.com/61
VO쓰는데
무시해라 클래스 이름에 VO, DTO 이렇게 붙이는거 안티패턴이다