원본 출처 :
http://www.terms.co.kr/
비즈니스 로직이란 업무에 필요한 데이터 처리를 수행하는 응용프로그램의 일부를 말한다. 이것은 데이터 입력, 수정, 조회 및 보고서 처리 등을 수행하는 루틴, 좀더 엄밀히 말하면 보이는 것의 그 뒤에서 일어나는 각종 처리를 의미한다. 대개 클라이언트 프로그램은 사용자 인터페이스와 비즈니스 로직으로 구성되며, 서버 프로그램은 대부분 비즈니스 로직만으로 되어 있다. 특히, 클라이언트/서버 모델인 경우에는 이외에도 통신링크가 추가되지만, 통신과 관련된 인프라스트럭처는 사용자 인터페이스처럼 비즈니스 로직의 일부는 아니다.
http://zetawiki.com/wiki/%EB%B9%84%EC%A6%88%EB%8B%88%EC%8A%A4_%EB%A1%9C%EC%A7%81
비즈니스 로직
business logic, business logic layer, business tier, logic tier
비즈니스 로직, 비즈니스 로직 계층, 비즈니스 티어, 비즈니스 계층, 논리 계층
업무절차를 정보시스템으로 구현하기 위한 자료구조와 알고리즘
데이터베이스와 UI간 정보교환을 제어하는 알고리즘
기술적인 표현이 아니라 개념적 표현임
3계층 소프트웨어 아키텍처에서 가운데 논리 계층
http://okky.kr/article/139274
보통 코딩시
action -> manager-> dao
방식으로 많이 쓰던데요
액션단 매니저단 dao단에서 각각 무엇을하는지
명확하게 좀 가르쳐 주실분 계신지요
제 생각으로는
액션에서는 파라미터 셋팅하고
매니저 에서는 비지니스 로직?
dao단에서는 당연히.. 쿼리를 날리는걸로 알고있는데
액션단에서 비지니스 로직도 하고 dao를 바로 콜하면 안되는건가요?
보통 비지니스 로직이 매우 간단하여..
액션단에다 대충 기술하고.. 구지 매니저 클래스에서
다시 dao를 호출할 필요가 없는 경우가 만터라구요
'(매니저 클래스에서 하는일은 그냥dao 호출뿐인데
클래스도 인터페이스까지 2개를 만들어야하구요...)
아무튼 위문제에 대해서
다들 어떻게 하시는지
그냥 패턴에 따라 코딩하시는지
아니면 저런 경우에는 액션에서 dao를 바로 콜하시는지
궁금합니다...
Action (controller 역할을 합니다. req의 유입, 분기, res 를 전달합니다)
Service (비즈니스 로직을 구현합니다,)
Dao (DB 자원을 억세스합니다.)
보통 클래스를 분리하는 이유는, 하나의 파일이 너무 많은 책임과 권한을 갖게 되면 당연히 스파게티 소스가 되고, 길어지기 마련이며, 유지보수하기 어렵기 때문입니다.
작은 단위의 unit 테스트나, 디버깅을 쉽게 가져가려는 부분, 서비스 영역의 비즈니스로직만 다이렉트 콜 해야 할 경우, 개발자가 여럿이 한 업무를 개발할 경우, MVC에 충실한 디자인을 고려해야 할 경우, 적절한 추상화를 해야 할 경우 등등등 파일의 영역을 역할에 맞게 분리하는것에 대해서는 oop적인 측면에서 장점이 많기 때문에 영역을 나누는것이죠.
그러면 어떻게 나누어야 하나?, 어떤 정도 레벨까지 추상화를 할것인가?
이건 정답이 없습니다. 각 상황에 맞게, 각 인력의 역량에 맞게 '잘' 하면 되는거죠
정보를 좀 더 수집해야할 듯하다.
'프로그래밍 > 웹 프로그래밍' 카테고리의 다른 글
html 중급? (0) | 2016.02.21 |
---|---|
HTML 기초 (0) | 2016.02.21 |
비즈니스 로직(Business logic)? (0) | 2016.02.14 |
웹서버(Web Server) / 웹 서버 어플리케이션(WSA) (0) | 2016.02.14 |
웹 프로그래밍 기초 (0) | 2016.02.14 |
ASP(Active Server Page) (0) | 2016.01.28 |
댓글을 달아 주세요