도메인 주도 설계, 혹은 도메인 주도 개발이라고 한다. 소프트웨어와 도메인이 멀어지지 않도록, 도메인을 중심으로 설계하고 프로젝트를 진행해나가는 방법론이다.
ReadIterator는 반복을 위해 설계된, 특별한 인터페이스를 가진 객체이다. [Symbol.iterator] 프로퍼티를 가진 객체를 Iterable하다고 한다. 이터러블 객체는 for...of문으로 순회할 수 있고 Spread 문법을 사용 가능하다. Generator는 Iterator를 반환하는 함수이다.
Read순수함수를 조합하고, 데이터의 불변성을 최대한 보장함으로써 부수효과를 최소화하는 프로그래밍 패러다임이다. 무조건 좋다는 건 아니다. '함수형 사고'라는 책에 이런 말이 써있다고 한다. '객체지향 프로그래밍은 움직이는 부분을 캡슐화하여 코드 이해를 돕고, 함수형 프로그래밍은 움직이는 부분을 최소화하여 코드 이해를 돕는다' 즉, 어느 하나가 우세한 게 아니라 패러다임이 다른 것이다.
Read개인적으로, 자바를 공부하며 자꾸만 그 차이점을 헷갈리게 되었던 개념이 추상클래스와 인터페이스다. 둘 다 객체 생성을 할 수 없고, 설계도 같은 느낌의 개념이라 공통점이 있는데, 차이점을 위주로 다뤄본다.
Read오버라이딩과 오버로딩은 이름이 비슷해 초심자가 헷갈릴 수 있는 개념이다. 둘 다 '동일한 이름의 메서드'에 대한 개념이라는 공통점이 있는데, 어떤 차이점이 있는지 알아보자.
Read