티스토리 뷰

반응형

다들 뭔가를 배워간다..!

나는 아 그렇구나.. 하고 뒤적뒤적하고 있는데 다들 열심히 해서 재밌게 듣고 있고 (역시 스터디해야해. 읽고 아무 느낌없는데 뭔가 그 농담 덩어리에서 반짝이는 것들을 발견한다. 나같은애 백명 모이면 거의  책 읽었어? oo/ㄴㄴ  아니면 발로짠 스터디가 될텐데 너무 멋찌다)

내가 짜기 귀찮아하던 코드를 미리 짜준 코드를 발견했다.

github.com/KilJaeeun/TDD_Practice

 

KilJaeeun/TDD_Practice

켄트백 TDD by Example 예제. Contribute to KilJaeeun/TDD_Practice development by creating an account on GitHub.

github.com

(포크해옴)

각자 레포를 한두개씩 눈여겨 두면 좋지 않을까.... 널럴하게 라는 과제가 나오고 17장까지 읽어오라는 것을 들었다.

오늘 배운건 팩토리 메서드 기법을 포스팅하려구 한다. 남들 tdd 공부할때 혼자서 자바를 배우는..

 


8장 : times() + 팩토리 메서드 기법 활용

class Car{

	private carName;
    Car(String carName){
    	this.carName = carName;
    }
    Car newFox(){
    	new Car("fox");//fox 는 차이름이다.
    }
    
    
    getCarName(){
    	return carName;
    }
    setCarName( String name){
    	name.trim(); // 이것이 그 전처리, getter setter 에 대한 내용이 나왔는데 쓰라는건지 아닌건지 까먹음
        this.carName = name;
    }
    
    
}

// new instance
Car car = new Car("fox")
Car car = Car.newFox(); // 이런식!!! 이거!!! 이렇게 하면 좋은게 미리 전처리를 해줄 수 있고, 생성자가
// 눈에 보이지 않아서 하위 클래스에 대해 **분리? 독립?** 이런걸 할수 있다고 한다. 이펙티브 자바라는 책을 추천받음
// 아예 처음보는 걸 만들지 않는이상 아주 좋은 거라고 생각이된다. 사람은 공부를 해야해

// 책 예시
Money fiveMoney = Money.times(4); // new Money(4) 대신에 쓸 수 있게
Money tenFranc = Money.franc(10); // new Franc(10) 대신에 쓸 수 있게

 

 

 


10장: times()  메서드를 상위 클래스로 뽑아내는 리팩토링

  • 빨간 막대일때 새 테스트를 작성하지 않는게 좋다.( 재은아 그러렴!)
  • abstract class  의 특징이 뭔가요? concrete class 랑 왔다갔다 하나요?

 내눈에는 원래는 doller 랑 franc 를 주체로 테스트를 설정하다가  그 두개의 비중을 낮추고 ,  엄마인 Doller 를 주체로 하려고 concrete 로 바꾼 것으로 예상된다.  mother 인데 딱히 주체적으로 서비스에 사용되지 않을때는 그냥 확장성을 위해 abstract 로 구분해주는 듯. 이게 바로 디자인 패턴이라는 것을 알게 되었다.

세상엔 멋진 용어가 많다.

 

abstract 클래스의 특징

- 그 자체로 인스턴스가 아님( 팩토리 메서드는 하위 클래스를 뱉어내므로 이 규칙에 해당하지 않음)

- 자신을 상속하는 하위 클래스에 " 너네는 모두 이러한 메서드를 가져라"라고 명령

 

 

 

 

반응형

'끄적끄적 - 글' 카테고리의 다른 글

Feature Envy & Code Smell  (0) 2020.11.25
백기선 라이브 이모저모 2020.11.21.29  (0) 2020.11.22
css 변수 설정  (0) 2020.11.21
로그  (0) 2020.10.19
daytime client & daytime server 과제  (0) 2020.10.01
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
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
글 보관함