[우아한테크코스] 3월 8일 TIL
오늘 배운 것
- 블랙잭 미션 피드백 정리
view의 역할
string으로 value를 받아서 파싱해주는게 리뷰어께서 불필요한 역할이 추가된 느낌이라고 하셨다.
view는 어느정도까지 역할을 가져야 좋을까?
파싱해서 넘겨주면 domain이 List로 필요해서 맞춰준다고 생각해야할까? 아니면 무조건 list로 값을 받으니까 받아서 준다고 생각해야할까?
static의 필요성
여러 다양한 곳에서 deck이 필요하고 사용되기 때문에 상수화 했었는데 deck이 소진되었을 때 처리가 어려웠다. 매개변수가 많아지는 것보다 상수화가 더 안좋은 것일까?
.equals 사용시
상수.equals(변수)를 해야 null이 들어와도 처리할 수 있다.
변수.equals(상수)를 하면 nullPointerException 발생!
map getOrDefault
찾는 키가 존재하면 키의 값을 반환하고 없으면 기본 값 반환
map.put(map.getOrDefault(key, 0) + 1);
하면 있으면 get 없으면 0으로 세팅
궁금한 점
- 객체의 책임을 나눠주기 위해 새로운 객체를 생성하는 것은 불필요한가?
캡슐화를 지킬 수 있는 선에서 책임을 분리하는 것이 좋다. - 객체의 메서드에 다른 객체를 전달해서 임무를 실행하는 것은 옳은가?
최소한의 객체를 넘겨서 행위를 수행하도록 하자