본문 바로가기

분류 전체보기

(174)
[Design Pattern] Iterator Pattern & Composite Pattern 해당 포스팅은 한빛 미디어 헤드퍼스트 디자인 패턴(에릭 프리먼, 엘리자베스 롭슨 저)를 통해 공부한 내용을 정리한 블로그입니다.아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁좋은 프로그래머는 자기 두뇌를 사용한다. 그러나 좋은 가이드라인은 모든 케이스를 고려해야만 하는 노력을 줄여준다. (Francis Glassborow, 개발자)문제점각자 다른 자료구조 및 구현 방법이 달라 코드를 통일시킬 수가 없음.PancakeHouseMenu pancakeHouseMenu = new PancakeHouseMenu(); ArrayList breakfastItems = pancakeHouseMenu.getMenuItems();DinerMenu dinerMe..
[Design Pattern] Template Method Pattern 해당 포스팅은 한빛 미디어 헤드퍼스트 디자인 패턴(에릭 프리먼, 엘리자베스 롭슨 저)를 통해 공부한 내용을 정리한 블로그입니다.아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁좋은 프로그래머는 자기 두뇌를 사용한다. 그러나 좋은 가이드라인은 모든 케이스를 고려해야만 하는 노력을 줄여준다. (Francis Glassborow, 개발자)Coffee 클래스와 Tea 클래스 만들기커피와 홍차 만드는 방법은 비슷.비슷한 클래스는 공통된 부분을 추상화해서 베이스 클래스로 만들면 좋은 방법추상화 클래스 적용.Coffee 클래스에서도 Tea 클래스에서도 추상화 가능한 메소드를 추가brewCoffeeGrinds(), steepTeaBag() 의 역할이 비슷a..
[Design Pattern] Adapter Pattern 해당 포스팅은 한빛 미디어 헤드퍼스트 디자인 패턴(에릭 프리먼, 엘리자베스 롭슨 저)를 통해 공부한 내용을 정리한 블로그입니다.아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁좋은 프로그래머는 자기 두뇌를 사용한다. 그러나 좋은 가이드라인은 모든 케이스를 고려해야만 하는 노력을 줄여준다. (Francis Glassborow, 개발자)객체지향새로운 클래스의 인터페이스가 기존 클래스의 인터페이스와 다를 때새로운 클래스의 인터페이스가 생긴다면 기존 시스템의 인터페이스를 사용할 수 없음.새로운 클래스와 기존 인터페이스를 연결해 줄 클래스 => Adapter두코드 모두 변화를 안가져도 됨사용방법public interface Duck { public..
[Design Pattern] Command Pattern 해당 포스팅은 한빛 미디어 헤드퍼스트 디자인 패턴(에릭 프리먼, 엘리자베스 롭슨 저)를 통해 공부한 내용을 정리한 블로그입니다.아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁좋은 프로그래머는 자기 두뇌를 사용한다. 그러나 좋은 가이드라인은 모든 케이스를 고려해야만 하는 노력을 줄여준다. (Francis Glassborow, 개발자)문제 상황상당히 많은 객체의 인터페이스공통적인 인터페이스의 부재…앞으로도 여러 인터페이스가 추가될 수 있음.Command Pattern캡슐화를 더 높은 수준으로메소드 호출을 캡슐화각각의 메소드를 인터페이스 별로 분기처리하여서 작업하는 것은 유지보수성이 떨어짐작업을 요청하는 쪽(객체)과 그 작업을 처리하는 쪽(커맨드 ..
[Design Pattern] Singleton Pattern 해당 포스팅은 한빛 미디어 헤드퍼스트 디자인 패턴(에릭 프리먼, 엘리자베스 롭슨 저)를 통해 공부한 내용을 정리한 블로그입니다.아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁좋은 프로그래머는 자기 두뇌를 사용한다. 그러나 좋은 가이드라인은 모든 케이스를 고려해야만 하는 노력을 줄여준다. (Francis Glassborow, 개발자)Singleton Pattern 사용이유먼저 singleton pattern 사용 이유를 먼저 설명하겠습니다.하나만 있어도 충분히 돌아가는 또는 하나만 있어야 하는 객체에 사용Thread pool, Cache, Logger…이러한 객체가 두개이상 있으면프로그램이 이상하게 돌아갈 가능성.자원을 불필요하게 사용.결과에 ..
[OSSCA] OSSCA 체험형 마무리 프로젝트 진행 목표 및 과정멘토님께서 Redis라는 큰 오픈소스의 이슈를 해결하기에는 4주라는 기간은 너무 짧다고 판단하여서, 해당 기간 동안 Redis에 대한 학습에 집중하기로 결정하셨습니다. 우선, 프로젝트 시작 전에 2주 동안은 오픈소스 커뮤니티에서 제공하는 유튜브 강의를 시청하여 git에 대한 기본적인 이해를 정리하는 시간을 가졌습니다. Git은 협업 및 버전 관리를 위해 필수적인 도구이며, 오픈소스 프로젝트에 기여할 때 필수적인 요소입니다. 따라서, 기본적인 Git의 개념과 사용법을 숙지하고자 이러한 학습을 진행했습니다. 다음으로, 나머지 4주 동안은 Redis에 대한 깊은 학습에 집중하였습니다. 이 기간 동안에는 Redis의 주요 기능과 용도를 학습하고, 실제로 어떻게 사용되는지에 대한 심도 ..
[Design Pattern] Factory Pattern 해당 포스팅은 한빛 미디어 헤드퍼스트 디자인 패턴(에릭 프리먼, 엘리자베스 롭슨 저)를 통해 공부한 내용을 정리한 블로그입니다.아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁좋은 프로그래머는 자기 두뇌를 사용한다. 그러나 좋은 가이드라인은 모든 케이스를 고려해야만 하는 노력을 줄여준다. (Francis Glassborow, 개발자)디자인 패턴의 설계느슨한 결합으로 객체지향 디자인객체의 인스턴스는 항상 공개 되어야 하는 것이 아니며 모든 것을 공개 했다가는 문제가 생길 수도 있음new 연산자가 구상을 생각!!new를 사용하면 구상 클래스의 인스턴스가 만들어짐이는 구상 클래스를 바탕으로 코드를 수정해야 할 가능성이 커지고 유연성이 떨어짐. Duc..
[Design Pattern] Decorator Pattern 해당 포스팅은 한빛 미디어 헤드퍼스트 디자인 패턴(에릭 프리먼, 엘리자베스 롭슨 저)를 통해 공부한 내용을 정리한 블로그입니다.아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁좋은 프로그래머는 자기 두뇌를 사용한다. 그러나 좋은 가이드라인은 모든 케이스를 고려해야만 하는 노력을 줄여준다. (Francis Glassborow, 개발자)카페 프로그램 개발음료수가 많으니 추상 클래스에서 Beverage 클래스 정의더 자세한 음료는 서브 클래스에서 구현문제점인기가 증가하면서 메뉴가 너무 많이 증가하고, 모든 메뉴가 Beverage를 상속함첨가물도 있으니 첨가물이나 가격변동에 따른 대비가 어려움해결책인스턴스 변수와 슈퍼 클래스 상속으로 관리문제점첨가물의..