Giter Site home page Giter Site logo

punchbank's Introduction

Punch Bank

소스 코드 구조

  • Spring MVC 구조 img.png 해당 프로젝트는 계층형 구조를 가지며 하위 계층의 컴포넌트는 상위 계층을 의존할 수 없다.
    Controller
    프로그램이 요청을 받는 엔드포인트이며, 요청 및 응답과 관련된 역할을 수행한다.
    Manager
    요청당 수행해야하는 기능을 책임지는 계층이다. Manager는 기능의 흐름을 결정해서 Worker에게 일을 할당하고 관리하는 역할을 수행한다.
    Worker
    은행이라는 큰 도메인 안에 필요한 단위 작업을 수행하는 계층이다. Worker는 최소한의 기능을 수행하기 위해서 Service를 의존하며, 다른 Worker를 의존해서는 안된다.
    Service
    데이터에 의존적인 계층으로, Repository에 직접 접근하는 유일한 계층이다. Serivce는 Repository에 직접 접근해서 기능과 무관한, 도메인에 대한 최소한의 작업을 수행한다.
    Repository
    DAO

  • 필터

    • MDCLoggingFilter
      필터의 가장 앞쪽에서 Guid를 생성하고 이를 MDC(Mapped Diagnostic Context)에 넣어주는 역할
    • TransactionHistoryFilter
      프로그램에 들어오는 모든 요청에 대한 기록 TransactionHistory Table에 기록하는 필터
  • AOP

    • ControllerAdvice
      Exception Handler를 모아둔 클래스
    • LoggingAdvice
      Method in/out을 로그로 찍어주는 Advice

punchbank's People

Contributors

inhyeokjo avatar

Stargazers

 avatar Ryu Dong-In avatar  avatar Juwon Lee avatar 조현창 avatar Jung-hoon Lee avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.