본문 바로가기

728x90
728x90

flyweight pattern

[이펙티브 자바][아이템 1] 생성자 대신 정적 팩토리를 고려해라 - 컴도리돌이 자바에서 객체를 생성하는 전통적인 방법은 'new' 키워드를 사용하는 생성자 호출이에요. 그러나 이번 주제에서는 생성자 대신 정적 팩토리 메서드(static factory methods)를 고려할 것을 권장하는 것을 다뤄보려고 합니다.  1. 명명된 생성자를 통한 가독성 향상자바에서 객체를 생성할 때, 일반적으로 사용하는 방법은 'new' 키워드를 사용하여 생성자를 호출합니다. 근데 이런 방식은 추후에 다른 개발자가 해당 코드를 사용할 때, 조금 많이 힘든 경우가 있어요 🥲 생성자는 클래스 이름과 동일해야 하며, 여러 인자를 받는 경우에도 생성자 자체에 이름을 지정할 수 없죠. 이로 인해 생성자의 목적이나 인자들이 무엇을 의미하는지 명확하지 않을 수 있어요.  public class User { .. 더보기
[Design Pattern] 플라이웨이트 패턴(Flyweight Pattern)에 대해서 - 컴도리돌이 다수의 유사한 객체를 생성하면 메모리 사용량이 급격히 증가할 수 있어요. 😓이러한 문제를 해결하기 위해 플라이 웨이트 패턴은 동일한 객체를 공유하여 메모리 낭비를 줄이고 성능을 향상하는 방법을 제시해 줍니다. 예를 들어, 수천 개의 동일한 글꼴을 사용하는 텍스트 객체가 있다고 가정해 볼게요. 이러한 텍스트 객체는 동일한 스타일과 크기를 공유하지만, 위치나 색상과 같은 상태만 다르죠. 각 테스트 객체가 개별적으로 메모리를 차지한다면 비효율적일 수 있어요. 플라이웨이트 패턴은 이러한 공통된 속성을 공유하여 메모리 사용을 최소화합니다. class Flyweight { private final String sharedState; public Flyweight(String sharedState) { .. 더보기