[디자인패턴] MVC 패턴 이해하고 활용하기
·
CS/디자인 패턴
안녕하세요! 피피아노입니다 🎵 이번 포스팅에서는 소프트웨어 디자인 패턴 중 하나인 MVC 패턴에 대해 간단하게 한 번 살펴보도록 하겠습니다. MVC 패턴이란?먼저 MVC 정의 먼저 살펴보겠습니다. "MVC (모델-뷰-컨트롤러) 는 사용자 인터페이스, 데이터 및 논리 제어를 구현하는데 널리 사용되는 소프트웨어 디자인 패턴입니다"라고 하는군요.... 말이 좀 어렵죠? MVC 패턴(Model-View-Controller Pattern)은 소프트웨어 공학에서 사용되는 아키텍처 패턴 중 하나입니다. 이 패턴은 애플리케이션을 세 가지 역할로 분리하여 개발하는 방법론을 의미합니다.  제가 밑에서 좀 더 쉽게 설명해드리겠습니다! 그 전에 우선 각 키워드 별로 어떤 역할을 하는지 간단하게 살펴보겠습니다. Model(모..
[디자인패턴] 이터레이터 패턴 With Swift, Java
·
CS/디자인 패턴
서론 제가 블로그 포스팅을 1일 1포스팅을 해보려고 했는데 개인 사정으로 너무 바빠서 결국 실패해버렸네요..ㅎ 그런 이유로 오랜만에 포스팅을 해보려고 합니다! 이번시간에는 디자인패턴에 이터레이터 패턴에 대해서 포스팅을 해보려고 합니다! 이터레이터 패턴은 디자인 패턴 중 하나로, 여러분이 컬렉션을 다루는 데 있어 매우 유용한 도구입니다. 이터레이터 패턴이 무엇인지, 왜 필요한지, 그리고 어떻게 사용하는지에 대해 자세히 알아보도록 하겠습니다. 이터레이터 패턴이란? 이터레이터 패턴은 객체의 컬렉션, 즉 목록을 순회하는 방법을 제공하는 디자인 패턴입니다. 쉽게 말해서, 컬렉션 안의 각 요소에 순차적으로 접근할 수 있는 방법을 제공하는 것이죠. 그런데 왜 이런 패턴이 필요한 걸까요? 왜 이터레이터 패턴이 필요한가..
[디자인패턴] 프록시 패턴(Proxy Pattern)
·
CS/디자인 패턴
안녕하세요! 오늘은 소프트웨어 개발에서 자주 사용되는 디자인 패턴 중 하나인 "프록시 패턴"에 대해 이야기해보려고 합니다. 프록시 패턴은 어떤 객체의 대리자 역할을 하는 객체를 생성하여 사용하는 방식으로, 코드의 유연성과 재사용성을 높이는 데 도움이 됩니다. 우선, 프록시 패턴에 대해 알아보기 전에 프록시라는 단어부터 알아보겠습니다. '프록시'란 우리가 일상 생활에서 종종 마주치는 대리인이나 중개인을 의미합니다. 예를 들어, 외국에 살고 있는 친구에게 선물을 보내려면 그 나라의 대리점을 통해서 보내는 것과 비슷한 개념입니다. 이와 같이 프록시 패턴도 실제 객체의 역할을 수행하지만, 클라이언트와 실제 객체 사이에 중간 계층으로서 동작합니다. 프록스 패턴이란? 프록시 패턴은 이름에서 알 수 있듯이, 어떤 다..
[디자인패턴] 옵저버 패턴(Observer Pattern)
·
CS/디자인 패턴
안녕하세요! 이번에는 디자인 패턴 중 하나인 옵저버 패턴(Observer Pattern)에 대해 알아보려고 해요. 옵저버 패턴은 소프트웨어 개발에서 자주 사용되는 유용한 아이디어 중 하나로, 객체들 사이의 상호작용을 효과적으로 구현하는 방법을 제공하는 패턴입니다. 옵저버 패턴에 대한 개념과 특징을 자세히 한 번 알아보고 Swift와 Java, JavaScript 이렇게 각 언어별로 예시 소스까지 살펴보도록 하겠습니다! 옵저버 패턴이란? 옵저버 패턴은 한 객체의 상태 변화가 다른 여러 객체들에게 자동으로 알림을 보내고, 그들이 필요한 처리를 할 수 있도록 하는 디자인 패턴입니다. 주체(Subject)와 옵저버(Observer)라는 두 가지 주요 역할로 구성되며, 직접적인 결합 없이 유연하게 상호작용할 수 ..
[디자인 패턴] 팩토리 패턴과 전략 패턴의 개념과 예제 소스
·
CS/디자인 패턴
팩토리 패턴(factory pattern) 팩토리 패턴(Factory Pattern)은 객체 생성을 담당하는 디자인 패턴 중 하나입니다. 이 패턴은 객체를 생성하기 위한 인터페이스를 정의하고, 이 인터페이스를 통해 구체적인 객체의 생성을 서브클래스에게 위임하는 방식으로 동작합니다. 일반적으로, 클라이언트 코드에서는 어떤 클래스의 인스턴스를 직접 생성하는 대신에 추상화된 인터페이스를 통해 객체를 요청합니다. 이 추상화된 인터페이스는 팩토리 메서드로 정의되어 있습니다. 실제로 객체를 생성하는 작업은 구체적인 팩토리 클래스에서 수행됩니다. 각각의 구체적인 팩토리 클래스는 추상화된 인터페이스를 상속받거나 해당 인터페이스를 구현하여 실제 객체의 생성을 담당합니다. 팩토리 메서드 내부에서는 적절한 구체적인 제조자(..
[디자인 패턴] 디자인 패턴과 싱글톤 패턴
·
CS/디자인 패턴
1. 디자인패턴 소프트웨어 디자인 패턴이란 소프트웨어 설계에서 자주 발생하는 문제를 해결하기 위해 개발된 재사용 가능한 솔루션입니다. 디자인 패턴은 설계 문제의 구조화된 해결책을 제공하며, 소프트웨어 시스템의 유지 보수성, 확장성, 유연성 등을 개선하는 데 도움을 줍니다. 2. 싱글톤 패턴 하나의 클래스에 오직 하나의 인스턴스만 가지는 패턴을 말합니다. 하나의 클래스를 기반으로 여러 개의 개별적인 인스턴스를 만들 수 있지만, 그렇게 하지 않고 하나의 클래스를 기반으로 단 하나의 인스턴스를 만들어서 이를 기반으로 로직을 만드는데 쓰입니다. 보통 데이터베이스 연결 모듈에 많이 사용합니다. 하나의 인스턴스를 만들어 놓고 해당 인스턴스를 다른 모듈들이 공유하면서 사용합니다. 이러한 특징 덕분에 인스턴스를 생성할..