Linkedin Learning - Programming Foundations: Design Patterns 후기
링크드인 러닝에서 디자인 패턴에 대한 강의를 수강 하였다. 디자인 패턴에 대하여 개략적으로만 알고 있을 뿐, 이번에 제대로 좀 보자고 생각하여서 보게 되었다. 회사마다 다르고, 팀마다 다르겠지만 우리 팀에서는 MVC Framework의 패턴을 따르고만 있을 뿐 디자인 패턴을 적용하고 있지 않다. 업무가 바빠서일 수도 있고, 디자인 패턴을 적용하는것과 거리가 먼 외주 코드들이 많아서 그럴 수도 있다. 명백히 외주 계약에 디자인 패턴이 있지는 않기 때문.. 하지만 못쓰더라도 아는게 좋다고 생각 한다. 또한 자바의 Spring 코드를 까보면 여러 디자인 패턴의 결합체임을 알 수 있기에 좋은 공부라고 생각 한다. 디자인 패턴 강의 저자 링크드인 러닝과 같은 온라인 course의 특성상 내가 하고 싶으면 강의를 만들 수 있다. 이는 자칫 잘못하면 전문성이 떨어질수도 있는 점이 있다. 하지만 이 강의의 저자들은 Oreilly의 Head First Design을 작성한 저자이기 때문에 그런 걱정은 필요 없다. 강의 내용 - 6개의 패턴 해당 강의에서는 6개의 패턴을 공부 한다. Head First Design Pattern의 서적에는 약 20여가지의 패턴이 있으며 거기에서 6개를 뽑으신것 같다. 그냥 강의를 1,2,3 나누더라도 모든 강의를 올리는게 어땠을까 생각이 들긴 하지만, 대표적인 패턴을 배운 후 나머지들은 책을 통해서 확인하게 하는 의도라면 이해가 된다. 1. Strategy Pattern 함수의 interface를 통해서 객체를 상속하는 것이 객체 지향의 core중 하나 이다. 하지만 상속을 통해서 함수를 명세하는 것의 단점이 있는데 이는 모든 객체에서 해당 함수를 구현해야 한다는 점이다. 아무런 차이가 없더라도 일단은 따로따로 구현해야하는 점이 있으며 이를 재사용성이 좋게 하기 위해서 Composition이라고 하여 해당 기능을 하는 함수를 따로 클래스로 두어서 사용하는 것 이다. IS-A 관계에서 HAS-A...