목록Develop/❤️ Design pattern (3)
infinity : 무한한 성장가능성

복합체 패턴(Composite) 패턴이란? 복합 객체(Composite)와 단일객체(Leaf)를 동일한 컴포넌트로 취급하여 클라이언트에게 동일한 인터페이스를 사용하도록 하는 패턴 즉 복합 객체를 구성하거나 개별적인 객체들을 모두 동일한 방법으로 다룰 수 있게 해주는 패턴 복합체 패턴은 트리 구조를 가진 객체들을 다루는데 유용하다.복합체 패턴은 개별 객체와 복합 객체의 처리 방법이 다르지 않은 경우, 전체 - 부분 관계로 정의할 수 있다.복합체 패턴은 객체의 구조가 복잡할 때 유용하며, 객체 간의 결합도를 낮추어 유연성을 높일 수 있다. 새로운 객체 or 복합 객체를 추가해도 클라이언트를 수정할 필요가 없어 유지 보수성이 좋다. 복합체 패턴 구조 ComponentLeaf 와 Composite 가 구현해야 ..

팩토리 패턴을 적용하지 x 때 -> Component 타입으로 선언된 객체 comp1~3이 존재한다. -> comp1~3은 각각 Button, Switch, Dropdown 중 하나를 선택해 값을 넣어준다. (withoutFactory) 팩토리 패턴을 적용한다면? -> 다른클래스 즉 Factory안에서 주어진 조건 (Usage usage)에 따라 적절한 것을 생성해 반환 값으로 나오는 객체를 값으로 넣어줌 🤔 팩토리 패턴을 적용하면 무슨 장점이 있을까? if) Button을 생성하는 생성자가 변경되고, Button객체를 생성하는 부분의 코드가 여러 곳에 분포되어 있다면 해당 코드를 하나씩 찾아서 새 생성자 형식에 맞게 코드들을 변경해줘야 함 즉 , 객체의 생성을 하는 코드들이 많으면 많을 수록 객체의 생..

1. 싱글톤 패턴 -> 어떤 클래스의 객체가 해당 프로세스에서 딱 하나만 만들어져 있어야 할 때 -> ex) 사용자가 앱을 사용하는데 세팅에서 다크 모드를 설정해 놓으면 다른 페이지로 이동하더라도 다크 모드가 유지되어 있어야 함 즉, 어떤 페이지에 있든 세팅을 관리하는 객체는 반드시 같은 것을 사용해야 한다는 것 -> 생성자를 private으로 선언해 생성하지 못하도록 한다. -> static으로 클래스 자기 자신인 Settings 타입의 객체를 하나 만들어 놓음 -> 즉 클래스 안의 static이 아닌 변수나 메소드들은 객체가 생성될 때마다 메모리의 공간을 새로 차지함 -> static으로 선언된 것들은 객체가 얼마나 만들어지든 메모리의 지정된 공간에 딱 하나씩만 존재하게 됨 -> 컴파일 할때부터 이 ..