반응형
SMALL

proxy 3

[Design Pattern] 프록시(Proxy), 데코레이터(Decorator), 퍼사드(Facade)

프록시(Proxy) 프록시 패턴은 일반적으로 개체의 특성을 숨기기 위해 개체를 감쌉니다. 이러한 특성은 원격 개체(원격 프록시), 매우 큰 이미지 또는 테라바이트 데이터베이스 덤프(가상 프록시)와 같은 매우 무거운 개체 또는 제한된 액세스 개체(보호 프록시)일 수 있습니다. package proxy import "fmt" type User struct { ID int32 } type UserList []User func (t *UserList) FindUser(id int32) (User, error) { for i := 0; i < len(*t); i++ { if (*t)[i].ID == id { return (*t)[i], nil } } return User{}, fmt.Errorf("user %d ..

Go 2022.11.24

[Java] 스프링(Spring) AOP(Aspect-Oriented Programming)

어느 덧 추석이 다가오네요! 코로나19로 인해 가족이 모이는 것도 다소 조심스러운 부분이 있는데요 아무튼 학습을 진행하겠습니다 프로그램을 만들다 보면 공통적인 기능이 많이 발생하게 됩니다 자바에서 이러한 공통 기능을 모든 모듈(Module)에 적용하기 위해 상속을 이용하지만 몇 가지 한계가 있습니다 우선 자바에서 다중 상속이 불가하다는 점입니다 또 기능 구현 부분에 핵심 기능 코드와 공통 기능 코드가 섞여 있어 효율성이 떨어집니다 그래서 AOP 등판! AOP는 공통 기능을 핵심 기능과 분리하고 공통 기능 중에서 핵심 기능에 적용하고자 하는 부분에 적용합니다 아래는 AOP의 용어를 정리한 것입니다 용어 설명 Aspect - 공통 기능 Advice - Aspect의 기능 자체 : 메소드 실행 전에 advic..

Java 2020.09.24

[Design Pattern] 플라이급 패턴(Flyweight Pattern)

이번 학습 주제는 플라이급(Flyweight) 패턴입니다 권투에서 가장 체중이 가벼운 체급을 나타내는 플라이급! 플라이급 패턴은 오브젝트를 가볍게 하기 위한 패턴으로 가볍다는 의미는 메모리를 적게 사용하는 것을 의미입니다 다시 말하자면 인스턴스를 가능한 대로 공유시켜서 쓸데없는 인스턴스를 생성하지 않는 것입니다 그럼 플라이급 패턴의 역할들을 정리하겠습니다 역할 설명 Flyweight(플라이급) 공유하는 것이 좋은 것을 나타내는 역할 Flyweight Factory(플라이급 공장) Flyweight 역할을 만들어 인스턴스를 공유 Client(의뢰자) FlyweightFactory 역할을 사용해서 Flyweight 역할을 만들고 이용하는 역할 역할들만 보았을 때는 비교적 간단할 것 같다는 느낌이 스치네요^^..

Java 2020.07.21
반응형
LIST