목록Design Pattern (3)
데브팜
1. SRP (단일 책임의 원칙)클래스가 하나의 기능만 수행해야 한다책임은 클래스가 맡은 기능을 수행한다는 것을 의미합니다.2. OCP (개방 폐쇄의 원칙)확장은 자유롭지만 구성요소의 변경은 일어나지 않아야 한다.추상화와 다형성을 이용하여 관리 가능하되 재사용 가능한 코드를 작성하는 것이 중요하다.3. LSP (리스코브 치환의 원칙)상위 클래스의 책임(기능)을 그 하위 클래스도 수행할 수 있어야 함하위 클래스는 상위 클래스의 기능을 축소하지 않고, 유지/확장만 해야 합니다.사각형과 정사각형의 관계를 생각해 봅시다.4. ISP (인터페이스 분리의 원칙)가능한 최소한의 인터페이스만 사용해서 기능을 구현하자 5. DIP (의존성 역전의 원칙) -------------Rectangle-> height-> wid..
디자인 패턴을 공부해보기 전에, 우선 그 근본이 되는 객체지향의 원리, 그리고 원칙들에 대해서 알아보겠습니다. 디자인 패턴을 이용하여 본질적으로 좋은 코드를 작성하기 위해선 이의 근본이 되는 기준과 의미를 살펴볼 필요가 있습니다. 디자인 패턴이 발달한 배경에는 객체지향 프로그래밍이 지향하는 방향과 좋은 프로그램은 무엇인지에 대한 고민이 숨어 있는데요. 디자인 패턴을 공부하다보면그 패턴이 등장한 이유와 등장하게 된 원인과 배경에 대해서 알게 될 것입니다.이는 어떤 상황에서 쓰였는지를 아는 것이 그 패턴을 이해하는 데에 큰 도움이 될 것입니다. 객체지향 원리와 원칙은 이렇게 디자인 패턴이 생겨난 원인과 배경을 설명합니다. 또한 좋은 디자인과 나쁜 디자인의 판단 기준이 되기도 합니다.진정한 코딩 고수로 향하는..
현업에 종사하다보니 혼자서 개인 프로젝트를 진행하는 것과 달리협업과 그로 인한 코드 관리의 중요성을 느끼게 됩니다. 이것은 코드를 잘 작성하기 위한 방법이간결한 코드 작성에서 초보자가 오더라도 누구나 알아볼 수 있는 코드 작성으로 그 중요성이 바뀌었다는 것을 의미합니다. 디자인 패턴은 과거의 소프트웨어 개발 과정에서 발견한 설계의 노하우를 일종의 패턴으로 정리해 놓은 것입니다. 디자인 패턴을 학습하는 것이 쉽지는 않지만복잡한 구조를 한 단어로 정의함으로서 개발자들이 협업을 할 때에 의사소통을 효율적으로 할 수 있습니다. 또한, 기존 코드의 문제점에 대해서 검증된 방법으로 해결 방안을 찾을 수 있어효율적으로 코드를 개선할 수 있습니다. 추상화 | 캡슐화 | 다형성 | 상속 1) 어플리케이션에서 달라지는 부..