검색하면 죄다 텍스트로 설명뿐인데
코드로따지는게 단 1도없던데;;
이게 도메인로직
이게 비즈니스 로직 맞음?
죄다 비유가 ㄹ그인을하면 중복검사 본인인증 등등 중요한 로직어쩌고저쩌고 하는데
그걸 디자인패턴으로 코드로 표시해주거나 그런게 단1도없고 텍스트로만써서 이해가안됨
보통 비즈니스 로직이라 하면 Service클래스에서 담당하는 그 로직맞음?
근데 컨트롤러에서도 저렇게 표현할떄많던데 뭐가맞는거지
검색하면 죄다 텍스트로 설명뿐인데
코드로따지는게 단 1도없던데;;
이게 도메인로직
이게 비즈니스 로직 맞음?
죄다 비유가 ㄹ그인을하면 중복검사 본인인증 등등 중요한 로직어쩌고저쩌고 하는데
그걸 디자인패턴으로 코드로 표시해주거나 그런게 단1도없고 텍스트로만써서 이해가안됨
보통 비즈니스 로직이라 하면 Service클래스에서 담당하는 그 로직맞음?
근데 컨트롤러에서도 저렇게 표현할떄많던데 뭐가맞는거지
도메인 로직이 비즈니스 로직이지 뭔소리하는거임 트랜잭션 스크립트랑 도메인 모델이랑 차이를 이야기하고싷근거임?
굿
도메인 로직이 비즈니스 로직보다 작은 개념임
굿
단어 그대로 의미인거임 도메인 로직 => 특정 플랫폼이나 프레임워크에 해당하는 로직 => 서드파티 라이브러리, 뷰, 입출력, 데이터 관련 등등 비즈니스 로직 => 도메인 로직을 레고처럼 달달 붙여서 서비스 내에서 해내고 싶은 피쳐, 이 서비스의 유즈케이스에 해당하는 로직
당연히 이렇게 보니 코드론 구별이 안감 사람이 구별해야해
그거하려고 코드리뷰 하는거고
왜 이딴식으로 구별해야되나요 귀찮아요 라고 묻는다면 뭐 테스트가 쉬움, 코드 가시성이 좋음, 조직간 업무분할이 쉬움 뭐 이런 프로세스적인 답변을 할 수 있음 사실 혼자 토이프로젝트 만들거면 어떻게 ㅈ같이짜도 하등 상관없음
일단 국내 IT기업이나 클린아키텍쳐 관점에선 그래 다른데서 얘기하는거면 다를 수 있어
도메인 로직 설명이 좀 이상한거같은데?
어디가 이상한지 알려주면 공부가 됩니다
특정 플랫폼이나 프레임워크에 해당하는 로직 << 아무래도 이것 때문인가
응 그거랑 이거도 "서드파티 라이브러리, 뷰, 입출력, 데이터 관련 등등" 전부 다 기술에 관련된거고 도메인이랑은 상관이 없는 내용인데? 말하는거 보면 잘 아는 것 같기도 한데, 완전히 다른 내용을 이야기하니 의아해서 물어본거
공부가 된다면서 어디갔어 왜 저렇게 설명한건지 설명좀 해줘 시벌;;
관련이 있지
물론 위에 언급한 것들 == 도메인 로직이라고 얘기하는 것이 아님 이것들이 도메인 로직에 포함된다고 하는거고 이 부분이 오해 할 수 있을 것 같으니 먼저 얘기하고 시작함
추상적인 설명이 될 수 있는데 비즈니스 로직은 서비스에서 필요한 특정한 유즈케이스를 해결하기 위한 로직의 단위임 그리고 도메인 로직은 이 비즈니스 로직이 실제로 동작하기 위해 필요한 특정 영역에 해당하는 로직임 (결국 이게 다른 나라 단어로 바뀐거지 도메인 로직 그 자체임)
이렇게 설명하면 질문이 빙빙 돔 도메인 로직이 뭐야 => 도메인을 해결하는 로직이야 => 그니까 도메인을 해결하는 로직이 뭔데 => 비즈니스 안에서 단계별로 필요한 도메인을 해결한다니까?
결국 그럼 도메인 로직을 구체적인 사례로 설명 할 수 있다면 그것은 특정 기술에 의존하는 문제 해결의 단계라고 정의 할 수밖에 없는 것임 그것의 대다수가 결국 뷰나 입출력, 데이터 처리 와 같은 통상적으로 플랫폼 또는 프레임워크에 종속되는 코드들이나 특정 도메인의 문제 (Ex: AI를 이용한 추론, 보안 검증 등) 해결을 위해 모듈로 구현된 서드파티 라이브러리에 해당이 된다고 말할 수 있음 여기서 서드파티라고 하는 것은 같은 회사라 하더라도 조직 단위에서 봤을 때 다른 조직에서 공급하는 라이브러리이며 수정권한이 없다고 봐야하기 때문에 서드파티라고 불렀음. 나도 이건 말해놓고 좀 틀렸나 싶었지
점점 더 산으로 가는거같은데.. 암튼 땡큐
결국 누군가 어떤 형식으로 구현하더라도, 그것이 도메인 로직이 된다면 혹은 이 조직이 그것을 도메인 로직으로써 다룬다면 그것은 특정 기술에 종속된 문제 해결을 구성하기 위한 단위가 맞다는게 나의 견해임 이게 틀렸다고 생각한다면 반례를 설명해주길 바람
도메인 로직은 기술과 완전히 분리돼야하는데 무슨 말 하는건지 모르겠음 비꼬는게 아니고 진짜로 모르겠어서 그래
아니 맞음
내 말이 병신같았음 헷갈릴 수 있음
그러니까 실제 그 기술에 해당하는 코드들은 당연히 도메인로직이 아니고 그걸 분리하는 코드가 도메인로직이라고 얘기하고싶은거임 그래서 실구현은 비즈니스 로직 < 도메인 로직 < 기술 로직 순으로 구현되야함
당연히 실구현은 호출측에선 접근도 안되고 완전히 분리된 코드니까 실구현 그자체로 받아들일거라곤 생각을 안했음 그거때문에 오해한거 같은데 맞음?
ㅇㅋㅇㅋ 감사
어디갔어
나 상대하기 싫다고 도망가지말고 맞으면 맞았다 틀리면 니 틀렸다 확실히 말을 하셈 나 잠 못잠
뭔소리야 내가 맞았고 니가 틀렸지 비즈니스 로직이랑 도메인 로직은 그렇게 분명하게 구분되는게 아님 비즈니스 로직은 개념적인 단어고 도메인 로직은 실제 코드에 더 가깝지 그리고 니가 말 병신같이 했다면서 왜 갑자기 잘잘못을 가려; 그럴 필요 없다
틀린 부분을 제대로 알아야 다음에 개소리를 안하지
도메인 로직은 비즈니스 로직일 수 있지만 모든 비즈니스 로직이 도메인 로직인건 아님 트랜잭션 스크립트 패턴으로 걍 찍찍 싸도 비즈니스 로직이라고 함
> 비즈니스 로직은 개념적인 단어고 도메인 로직은 실제 코드에 더 가깝지 이 말이 맞는 말이기 때문에 도메인 로직이 비즈니스 로직보다 더 큰 개념이 될 수 없음 개념적인 단어란 말은 추상적임 결국 구현하게 되면 경계를 명확히 구분지어야 하는데 어떤 형식으로든 비즈니스 로직에 대한 구분을 하게 된다면 도메인 로직보다 커질 수밖에 없음
아 그런가
비즈니스 로직에 도메인 로직이 포함되는 개념인건 맞는데 하위 요소라서 도메인 로직을 조립해서 비즈니스 로직이 된다라는 표현은 이상한거라니깐; 쉽게 생각해서 상속관계라고 생각하면 된다 뭔가 장황하게 설명하는걸 좋아하는 것 같은데, 걍 심플한거야
그럼 걍 비즈니스 로직이란 말을 안쓰는게 좋은 것 아님? 왜 굳이 비즈니스 로직을 분리하지?
당장 도메인 로직과 비즈니스 로직의 차이 라고 구글링 해봐 안나올걸? 도메인에다가 비즈니스 로직을 넣는다는 소리는 나오겠지만
비즈니스 로직이라는걸 분리한게 아니고, 비즈니스 로직을 구현하는데 여러가지 패턴이 있는데 그중 하나가 도메인 모델 패턴이고 도메인 모델에 들어간 비즈니스 로직을 도메인 로직이라고 하는거야
상속 이라는 비유를 듣고 이해함 내가 여태까지 알고있던 비즈니스 로직은 틀린 개념이였어
나는 도메인 모델을 도메인 로직이라고 생각하고 도메인 로직을 비즈니스 로직이라고 생각하고 있었던거군 완전히 틀린 생각이다! 나를 다시 태어나게 해줘서 고마워!
굿 수고링
다시 공부하다보니 복기가 됬음 아예 도메인 로직에 대한 설명도 잘못된거임 우리 서비스의 문제 해결을 위한 코드들을 도메인이라고 구분짓는 것이 맞고 우리 서비스가 특정 환경에 배치 되기 위한 코드들 (내가 예로 든 뷰 로직, 입출력 로직 등등) 은 인프라스트럭쳐라고 구분짓는 것이 맞음 도메인 모델은 인프라스트럭쳐 레이어로부터 프레임워크/ 드라이버라고 부를 수 있는 로직을 통해 정제되서 전달되고 그런 도메인 모델을 쥐고있는 비즈니스 로직이 도메인 로직이라고 부를 수 있게 되는거임
저도 잘 모르긴한데 이거 함 봐보세여 형님
https://youtu.be/fg5xbs59Lro
걍 병신같은 단어 만들어대서 졷같음 ㅋㅋㅋ 걍 시발 코드가지고 뭔 로직이녜 뭔 로직이녜 지들도 구분못함 ㅇㅇ 개병신들
구분할수있어