분류 전체보기 (183) 썸네일형 리스트형 팩토리 메서드 패턴 디자인 패턴 중 하나로, 객체를 만들어내는 부분을 서브 클래스Sub-Class에 위임하는 패턴. 팩토리 메소드 패턴을 사용하는 이유는 클래스간의 결합도를 낮추기 위한것. 클래스간의 결합도 = 클래스의 변경점이 생겼을 때 얼마나 다른 클래스에도 영향을 주는가. 팩토리 메소드 패턴을 사용하는 경우 직접 객체를 생성해 사용하는 것을 방지하고 서브 클래스에 위임함으로써 보다 효율적인 코드 제어를 할 수 있고 의존성을 제거. 결과적으로 결합도 또한 낮출 수 있다. gmlwjd9405.github.io/2018/08/07/factory-method-pattern.html [Design Pattern] 팩토리 메서드 패턴이란 - Heee's Development Blog Step by step goes a long .. TDD_5 7장 사과와 오렌지 You can't compare apples and oranges. 영어권 속담, 다른 것을 비교할 수 는 없다. $5 + 10CHF = $10(환율이 2:1 인 경우) // 해결 // $5 x 2 = $10 // 해결 // amount를 private로 만들기 // 해결 // Dollor 부작용? Money 반올림 // 해결 // equals() hashCode() Equal null Equal object //해결// 5CHF x 2 = 10CHF Dollor,Franc 중복 //해결// 공용 equal 공용 times //추가// Franc와 Dollor비교하기 최근에 추가한 Franc와 Dollor를 비교하기 위해 testEquality()에 새로운 테스트코드를 작성한다. 실패.. Java 접근지정자 1. public : 모든 접근을 허용. 어떠한 클래스가 접근을 하든 모두 허용됩니다. 2. protected : 상속받은 클래스 or 같은 패키지에서만 접근이 가능. 3. default : 기본 제한자, 자신 클래스 내부와 같은 패키지 내에서만 접근이 가능. 4. private : 외부에서 접근이 불가능. 같은 클래스 내에서만 접근이 가능. TDD_4(값 객체 패턴) 3장 모두를 위한 평등. Dollor 객체를 값 객체 패턴으로 설명한다. 값 객체 - immutable : (생성자에 의해 생성된 후)변경 불가능한 객체이다. - 값 객체는 [두개의 값 객체의 동일성(equality) 은 Identity에 기반하지 않고 그들의 컨텐츠로 한다]로 정의된다. ==> Identity : 데이터베이스의 인덱스 처럼 자신을 나타내는 요소, 컨텐츠가 같을 때 두 객체를 구분하는 요소 - 별칭문제를 해결할 수 있다. (dollor가 $5일때 영원히 5의 값을 가짐을 보장, $7을 만들고 싶다면 새로운 객체를 만들어야함.) 이를 통해 값 객체가 암시하는 것을 알 수 있다. 1. 모든 연산은 새 객체를 반환해야 한다. 2. equals()를 통해 같음을 보장받아야 한다. 값 객체는 다음.. TDD_3 1장에서 진행하는 다중화폐예시는 워드가 와이캐시에서 만든 달러로 관리되던 채권을 다중통화로 관리될 수 있게 하는 개발과정에서 테스트를 연습한다. 책에서 제시하는 TDD의 리듬은, 1. 재빨리 테스트 하나 추가 2. 모든 테스트를 실행하고 추가한 테스트가 실패하는지 확인 3. 코드 수정 4. 모든 테스트를 실행하고 전부 성공하는지 확인 5. 리펙토링을 통해 중복제거 이다. 이 부분을 생각하며 예제를 진행할 것이다! 먼저 다중통화를 이용하는 보고서를 만드려면 다음의 일을 해야한다. $5 + 10CHF = $10(환율이 2:1 인 경우) $5 x 2 = $10 첫 번째 할 일은 환율에 맞게 각 화폐를 더한 값을 출력해야 한다. 두 번째 할 일은 통화에 주가의 수 만큼을 곱한 값을 출력해야 한다. 비교적 두 번.. TDD_3(환경설정) 오늘부터 읽은 부분들은 실습을 하는 부분이기에 실습환경을 준비했다. 맥북을 최근에 사고, Junit을 사용하기 위해 이클립스를 설치하려는 도중 이클립스를 맥북에서 쓰면 한글깨짐 문제도 있고, 예전부터 intellij를 사용하고 싶었기 때문에, 이번 기회에 설치해서 환경을 구성했다. devms.tistory.com/51?category=680093 [Junit] intellij(인텔리J) 에서 Junit사용해보기(실행편) [Junit] intellij(인텔리J) 에서 Junit사용해보기(실행편) 연결된 포스팅: ( [Junit] Junit이란 / [Junit] intellij(인텔리J) 에서 Junit사용해보기(설정편) ) 1. 테스트코드를 써보자 이전 포스팅.. devms.tistory.com intel.. 맥북을 사고 설정하기(homebrew, mysql, java 8) 맥북을 샀더니 뭐 다 처음이라 어렵다 .. 기존 윈도우에서 쓰던 프로그램을 블로그 찾아가면서 설치했다.. subicura.com/2017/11/22/mac-os-development-environment-setup.html 본격 macOS에 개발 환경 구축하기 macOS에서 터미널을 자주 사용하는 개발자를 대상으로 심플하고 깔끔한 테마 위주의 개발 환경을 설정하는 방법을 소개합니다. 이 글을 보고 하나하나 설정하면 어디 가서 발표할 때 고오오급 개 subicura.com findstar.pe.kr/2019/01/20/install-openjdk-by-homebrew/ homebrew로 opendjk 설치하기 사용하던 노트북을 신형 맥북프로로 변경하면서 이런저런 개발 환경을 다시 구성하게 되었다. 마침 O.. TDD_2 테스트 주도 개발의 궁극적인 목표는 clean code that wroks(작동하는 깔끔한 코드)이다. 이것이 훌륭한 이유를 몇가지 알게 되었다. - 발생할 버그와 오류를 예측 가능한 개발 방법이다. - 코드를 그냥 생각나는 대로 짜버리고 마는 것 보다 코드가 주는 모든 것을 생각할 수 있다. - 소프트웨어의 질을 높인다. TDD의 규칙 1. 오직 자동화된 테스트가 실패할 때에만 새로운 코드를 작성한다. 2. 중복을 제거한다. 이 규칙에 의해서 다음의 개발순서가 정해진다. 1. 빨간색 - 실패하는 작은 테스트 작성. 컴파일조차 되지 않을 수 있다. 2. 초록색 - 빨리 테스트가 통과하게 만든다. 어떤 수단과 방법을 가리지 않는다. 3. 리펙토링 - 테스트를 통과하게 만드는 과정에서 발생한 중복을 제거한다.. 이전 1 ··· 15 16 17 18 19 20 21 ··· 23 다음