Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 |
Tags
- 핀포인트
- nGinder
- 월급루팡 일지
- fake jwt
- 개발 어렵당.ㅠ
- Loki 로그
- hbase 저장공간 설정
- formik
- 오블완
- R2DBC Paging
- OIDC
- save/update
- 플루터
- Ingress Controller Fake
- LPOS
- UnsupportedOperationException
- jsonMarshaller
- 노드간 통신
- 논블록킹 성능
- ㅉ때
- pinpoint 2.5.3
- intellij
- reids
- 7879
- pinpoint
- 았
- 티스토리챌린지
- Armeria
- 애자일 싫타
- RedirectService
Archives
- Today
- Total
대머리개발자
리팩토링 - 객체 주입에 대한.. 본문
해도해도.. 끝이 없다.
애초에.. 처음부터 잘 만들었으면.. 할 일이 없겠지만서도...
아니.. 퍼펙트하게 만들었어도... 끊임없이 변하는 요구사항 때문에.. 차피.. 계속 뜯어 고쳐야 하고.
그나마 손이 덜 타게 만들어야 하는 방법으로 고민 하면 좋을것 같다..
고민의 시작은 점점 많이 지는 EndPoint에 대한 처리..
@Configuration
class ArmeriaConfig{
@Autowired
lateinit var eventEndPoint: EventEndPoint
@Autowired
lateinit var participantEndPoint: ParticipantEndPoint
@Autowired
lateinit var couponEndPoint: PolicyEndPoint
@Autowired
lateinit var codeEndPoint: CodeEndPoint
......
fun registerEndpoints(serverBuilder: ServerBuilder) {
serverBuilder.annotatedService(eventEndPoint)
serverBuilder.annotatedService(participantEndPoint)
...
다음 두가지 과정을 무조건 해야 한다.
1. 객체 바인딩 하고 2. 해당 객체를 서비스로 등록
무조건 해야 하는 코드는 보일러 플레이트 코드가 되는거쥬
10개가 넘어가니... 보기도 흉흉하다.
@Configuration
class ArmeriaConfig(private val endPoints: List<EndpointComponent>){
fun registerEndpoints(serverBuilder: ServerBuilder) {
endPoints.forEach { ep ->
serverBuilder.annotatedService(ep)
}
}
type 기반으로 모든 엔드 포인트를 한방에 주입 받는다. <= 오늘 리팩토링 햄심
그러기 위해서는 모든 endPoint가 공통의 인터페이스 만든다.
package com.config
interface EndpointComponent
..
@Service
@ProducesJson
class AIEndPoint @Autowired constructor(var aiService: AIService) : EndpointComponent{
딱. 끝
그럼 앞으로... endPoint는 그냥..... EndpointComponent만 상속받으면.. 시마이!!!
'개발이야기' 카테고리의 다른 글
| 수집된 zipkin 데이터를 이해해보자. (0) | 2025.09.23 |
|---|---|
| 지연(delay) 포인트를 찾기는.. 하늘의 별딱. (0) | 2025.09.08 |
| 아르메리 모니터링(2) (6) | 2025.08.12 |
| 아르메리 모니터링(1) (1) | 2025.08.06 |
| Back개발자의 꽃(아르메리아)은 성능 처리.. (4) | 2025.08.05 |