전체 글41 [켄트벡의 구현패턴] ~마지막 (부록 성능측정) - 외부 API라고 해서 임포트 할 수 있는게 있나 봤는데 없네.. - 타이머 프레임워크 관련해서 검색을 해봐야겠다.. - 이 부분은 일단 패스 추후 다시 독서 및 관련 내용 검색해보는 것으로.. 2020. 9. 21. [켄트벡의 구현패턴] ~ 195p 발전하는 프레임워크 - 프레임워크 개발시에는 기존에 설명했던 애플리케이션 개발의 경우와는 다르게 코드 수정에 드는 비용이 클 수도 있다. (프레임워크 개발자가 클라이언트 코드까지 수정할 수는 없으므로..) 프레임워크 버전업을 진행할 때 기존 코드와의 호환성도 고려해야 한다. 1. 애플리케이션 수정 없이 프레임워크 수정하기 - 프레임워크 수정시에는 기존 애플리케이션 개발에 있어서의 중요 덕목인 '단순성' 만을 강조할 수는 없다. '호환성'이 더 중요한 요소이다. (단순성도 중요하지 않다는 소리는 아니다. 여전히 중요하다.) - 기존 클라이언트 코드의 동작을 보작하면서 프레임워크를 개선하기 위해서는 어느정도의 코드 복잡도는 올라갈 수 있다. 2. 호환성 없는 업그레이드 - 프레임워크 업그레이드를 단계적으로 시행하여, 클라이언트.. 2020. 9. 21. [켄트벡의 구현패턴] ~175p 9. 컬렉션 ※ 컬렉션 - 많은 수의 데이터를 표현하는 것 (일종의 그룹) 1. 메타포 - 첫번째 메타포는 여러값을 가진 변수라는 것. - 두번째 메타포는 자바의 경우 컬렉션은 '객체' 라는 것 - 두가지 메타포를 합치면 인자로 컬렉션 객체가 올 수 있고, 이렇게 인자로 온 컬렉션 객체는 참조 호출(call by reference)의 효과를 얻을 수 있어서 전달된 변수 값을 변경하면 호출한 루틴에서도 변경 효과가 나타난다. (얕은 복사) - 컬렉션의 또다른 메타포는 수학접 집합. 다만, 수학에서의 집합이라는 메타포는 컬렉션에 부분적으로만 나타남. (집합의 크기, 집합의 소속여부 확인 정도만 수학의 연산과 동일) 2. 이슈 - 크기 : 배열의 경우 크기는 생성시 고정이나 컬렉션은 중간에 크기 수정이 가능 - 원소간의 .. 2020. 9. 17. [켄트벡의 구현패턴] ~154p 메소드 - 메소드 임의의 프로그램은 복잡한 제어 흐름이 들어 있는 커다란 루틴 이라고 볼 수 있다. 여기에서의 문제는 이 커다란 루틴에서는 로직상 중요 부분과 중요하지 않은 부분을 구분해서 읽기가 어렵다는 것이다. 또한, 이처럼 거대한 루틴에서는 반복되는 코드가 나올 수 있는데, 하나의 큰 로직에서는 이러한 중복을 제거하기 쉽지 않다. 이를 위해 메소드를 나누는 방식을 사용하면 읽기 쉬운 코드로 나눌 수도 있고, 반복되는 코드를 메소드를 통해 재사용할 수 있는 효과를 거둘 수 있다. 1. 조합 메소드 - 추상화 수준이 비슷한 메소드 호출로 하나의 메소드를 구성하라. void calculate() { input(); number = 1+x; output(); } (책의 예시와는 조금 다르지만, 형태는 비슷하다.).. 2020. 9. 16. 이전 1 ··· 4 5 6 7 8 9 10 11 다음