본문 바로가기
  • Seizure But Okay Developer
FrontEnd/CodeSpitz 강의 정리

80 abstract_factory

by Sky_Developer 2019. 3. 6.

객체는 역할.

메소드는 책임.

속성은 권한.


Math.sin 은 유틸리티. 함수.


객체지향에서의 책임 : 다른 역할에 대해서 책임을 지는 것.(대상이 없는 경우는 없다)


이 메소드는 누가 쓸 꺼지? 를 먼저 고민해야 함.


객체지향에선 객체끼리 값으로 주고 받지 않는다, 대신 메시지라는 객체를 이용해 통신한다.

값의 복사가 아닌 값의 참조를 이용.


적지만 중요한 원칙을 정하면 예외를 즉시 인정할 수 있다. (켄트 백의 말)


원칙은 없을 수록 좋다, 원칙은 모두가 지키고 있을 때 가치가 태어난다. 예외가 비용이라고 생각.


가치 : 어떻게 하면 시간을 덜 들일 수 있는 코드를 짤 수 있는가


1. 길지만 반복해서 빨리 짠 코드

2. 내가 짠 코드가 디버깅 시간을 줄이는 코드(유지보수, 디버깅을 줄이는게 중요)

3. 패턴을 분석하여 틀에 끼워넣기( 프로그래밍은 어렵다 => 좋은 대 선배들이 만들어놓은 것(어떠한 기준)을 써라(켄트 백의 말) )

이미 만들어진 좋은 해법(아키텍처)에 내가 만든 코드를 끼워넣도록 분석하는 게 중급개발자로 실력을 쌓는데 도움이 된다


나만의 직감 영감 보단 옛 선배들이 만들어 놓은 것을 사용하는 게 더 낫다(강사님 말씀)


게임은 재미있고 공부는 재미없는 이유? 타격감(행동을 일으켰을 때 바로 나의 중추신경을 자극하는 요소)


MVC는 CPU 자원을 엄청 씀.


비지니스로직을 사용한다면 MVC 패턴을 무조건 적용할 수 있음.


item은 이벤트가 일어나는 특정 액션에 대한 책임이 있다.


질문 : 모델과 컨트롤러 사이에 도메인분석은 어떤 식으로 동작을 하는지?

도메인분석이란 현실에서 해결해야하는 문제를 파악하는 것.

뷰와 컨트롤이 있을 때 둘 사이에서 어떠한 메소드가 필요하고 어떠한 데이터가 보내져야 하는지 분석하는 하는 것을 의미.


언어를 많이 안다는 것은

내가 강사님의 코드를 보고 이해가 되느냐 안되느냐 로 볼수 있다.

격투기 게임에서 잘하는 사람은 손 발로만으로도 이길수 있다. 이건 그 게임을 그만큼 잘알고 있다는것.

즉 언어를 깊이있게 알고 있느냐 이고 언어를 깊이 알수록 잘할 수 있게 된다. (ES4, ES5, ES6..등 언어스펙을 깊이있게 알고 있는 거)


상속을 받는다면 무조건 super() 를 써줘야 this를 사용가능하다.

댓글