'객체지향' 태그의 글 목록
본문 바로가기
728x90
반응형

객체지향40

22-04-12-플라이웨이트패턴-4부-자바와스프링에서찾아보는패턴 01.자바의 플라이웨이트 패턴 package me.whiteship.designpatterns._02_structural_patterns._11_flyweight._03_java; public class FlyweightInJava { public static void main(String[] args) { Integer i1 = Integer.valueOf(10); Integer i2 = Integer.valueOf(10); System.out.println(i1.equals(i2); //System.out.println(i1 == i2);// 이렇게 쓰는것은 좋지 않음 } } 값들을 캐싱하는 것을 알 수 있음 즉, 자주사용하는것에 대해서만 02.스프링의 플라이웨이트 패턴 찾기가 어려움 ㅜㅜ https.. 2022. 4. 12.
22-04-12-플라이웨이트패턴-3부-장점과단점 01.장점 애플리케이션에서 사용하는 메모리를 줄일 수 있음 이전에는 제 각각 인스턴스들이 가지고 있었음 이를 적용하면 해당값은 매번 GET을 하지만 동일한 인스턴스이기때문에 flyweightFactory에서 같은 키값을 가지고 있으면 같은 걸 씀 02.단점 오히려 적용하기전 소스가 더 간단하다. 플라이웨이트 지식이 없다면 코드 파악이 어려움 즉, 코드의 복잡도가 증가하게 됨 https://3dpit.github.io/posts/%ED%94%8C%EB%9D%BC%EC%9D%B4%EC%9B%A8%EC%9D%B4%ED%8A%B8%ED%8C%A8%ED%84%B4-3%EB%B6%80-%EC%9E%A5%EC%A0%90%EA%B3%BC%EB%8B%A8%EC%A0%90/ 22-04-12-플라이웨이트패턴-3부-장점과단점.. 2022. 4. 12.
22-04-12-플라이웨이트패턴-2부-패턴적용하기 01.패턴적용해보기 자주 바뀐다와 바뀌지 않는 것은 완전히 주관적이고 상황에 따라 바뀜 정답이 있는 것은 아님 여기서는 fontFamily와 fontSize를 플라이웨이트 객체화 할 것 01.1 Font.java 생성 pulblic final class Font{ final String family; final int size; public Font(String family, int size){ this.family = family; this,size = size; } public String getFamily() { return family; } public int getSize() { return size; } } 주의 할 것은 플라이웨이트에 해당하는 인스턴스는 immutable 해야함 변경이 되면 .. 2022. 4. 12.
22-04-12-플라이웨이트패턴-1부-패턴소개 01.플라이웨이트를 들어가면서.. 가벼움이라는 의미 복싱체급에 플라이웨이트라는 체급이있는데 무튼 가벼운 축에 속한 것 애플리케이션에서 많은 인스턴스를 만드는 것에서 사용되는 패턴 많은 인스턴스를 만들면 메모리 사용을 많이하게 되어 out of memory생김 이를 적용해 공통된 부분 따로 모아서 사용함 자주변하고, 변하지 않는 부분 분리해서 변하지 않는 부분을 활용함 01.1 코드로 알아보는 디자인패턴 public class Client { public static void main(String[] args) { Character c1 = new Character('h', "white", "Nanum", 12); Character c2 = new Character('e', "white", "Nanum",.. 2022. 4. 12.
728x90
반응형