Improving Package Structure - hyeonwoody/hyeonworld GitHub Wiki
ν¨ν€μ§ ꡬ쑰 κ°μ
κΈ°μ‘΄ λ μ΄μ΄λ³λ‘ ν΄λλ₯Ό λλλ ν¨ν€μ§ ꡬ쑰μμ λλ©μΈλ³λ‘ ν΄λλ₯Ό λλλ ν¨ν€μ§ κ΅¬μ‘°λ‘ λ³κ²½νλ €κ³ ν©λλ€.
κΈ°μ‘΄ ν¨ν€μ§ ꡬ쑰
βββ configuration
βΒ Β βββ thread
βΒ Β βββ web
βββ controller
βΒ Β βββ GameController.java
βΒ Β βββ GameStageController.java
βΒ Β βββ HelloController.java
βΒ Β βββ HomeController.java
βΒ Β βββ InitController.java
βΒ Β βββ IPController.java
βΒ Β βββ MainController.java
βΒ Β βββ MemberController.java
βΒ Β βββ PartyController.java
βΒ Β βββ RoundController.java
βΒ Β βββ sse
βΒ Β βββ SubmissionController.java
βΒ Β βββ WebRestController.java
βββ DTO
βΒ Β βββ Game
βΒ Β βββ Member
βΒ Β βββ PartyInitDTO.java
βΒ Β βββ ScoreSource
βΒ Β βββ Submission
βββ entity
βΒ Β βββ Game.java
βΒ Β βββ Member.java
βΒ Β βββ Party.java
βΒ Β βββ Round.java
βΒ Β βββ ScoreSource.java
βΒ Β βββ Submission.java
βββ HyeonworldApplication.java
βββ InitRunner.java
βββ repository
βΒ Β βββ EmitterRepositoryImpl.java
βΒ Β βββ EmitterRepository.java
βΒ Β βββ game
βΒ Β βββ member
βΒ Β βββ party
βΒ Β βββ round
βΒ Β βββ ScoreSourceRepository.java
βΒ Β βββ submission
βββ service
βββ GameService.java
βββ HomeService.java
βββ InitService.java
βββ MemberService.java
βββ PartyService.java
βββ RoundService.java
βββ SubmissionService.java
βββ ThreadService.java
μ΄μ
λλ©μΈλ³λ‘ ν΄λλ₯Ό λλλ ν¨ν€μ§ κ΅¬μ‘°λ‘ λ³κ²½ μ μ₯λ¨μ μ λ€μκ³Ό κ°μ΅λλ€.
μ₯μ :
κ΄μ¬μ¬μ λΆλ¦¬: κ° λλ©μΈλ³λ‘ κ΄λ ¨ μ½λκ° λͺ¨μ¬μμ΄ μ½λμ μμ§λκ° λμμ§λλ€.
μ μ§λ³΄μμ± ν₯μ: νΉμ λλ©μΈμ λ³κ²½μ¬νμ΄ μμ λ ν΄λΉ ν¨ν€μ§λ§ μ§μ€μ μΌλ‘ μ΄ν΄λ³΄λ©΄ λλ―λ‘ μ μ§λ³΄μκ° μ©μ΄ν΄μ§λλ€.
νμ₯μ±: μλ‘μ΄ λλ©μΈμ΄ μΆκ°λ λ κΈ°μ‘΄ ꡬ쑰μ μν₯μ μ£Όμ§ μκ³ μλ‘μ΄ ν¨ν€μ§λ₯Ό μΆκ°ν μ μμ΅λλ€.
μ½λ λ€λΉκ²μ΄μ
κ°μ : νΉμ λλ©μΈκ³Ό κ΄λ ¨λ λͺ¨λ μ»΄ν¬λνΈλ₯Ό μ½κ² μ°Ύμ μ μμ΅λλ€.
λλ©μΈ μ€μ¬ μ€κ³: λΉμ¦λμ€ λ‘μ§μ λ μ§μ€ν μ μλ ꡬ쑰λ₯Ό μ 곡ν©λλ€
λ¨μ :
μ΄κΈ° μ€μ μ 볡μ‘μ±: κΈ°μ‘΄ ꡬ쑰λ₯Ό λ³κ²½νλ λ° μκ°κ³Ό λ
Έλ ₯μ΄ νμν©λλ€.
μ€λ³΅ μ½λ λ°μ κ°λ₯μ±: λλ©μΈλ³λ‘ λΆλ¦¬νλ€ λ³΄λ©΄ μ μ¬ν κΈ°λ₯μ μ½λκ° μ€λ³΅λ μ μμ΅λλ€.
ν¨ν€μ§ κ° μμ‘΄μ± κ΄λ¦¬: λλ©μΈ κ° μμ‘΄μ±μ μ μ ν κ΄λ¦¬νμ§ μμΌλ©΄ 볡μ‘ν΄μ§ μ μμ΅λλ€.
μ€λ²μμ§λμ΄λ§ μν: μμ νλ‘μ νΈμ κ²½μ° λΆνμνκ² λ³΅μ‘ν΄μ§ μ μμ΅λλ€.
hyeonworldλ μΉ κ°λ° νμ΅μ λͺ©μ μΌλ‘ μ§ννλ ν μ΄ νλ‘μ νΈλ‘μ
μμ νλ‘μ νΈμμ λν νλ‘μ νΈλ‘ λ°μ μν€λ λ°μ μμλ₯Ό λκ³ μμ΅λλ€.
ν₯ν MSAλ‘μ νμ₯μ μν΄μλ λλ©μΈλ³λ‘ ν¨ν€μ§λ₯Ό κ΅¬λΆ νλ μμ μ΄ νμν©λλ€.
μ΄κΈ° ν¨ν€μ§ ꡬ쑰λ ν΄λ¦° μν€ν
μ²μ λν μ¬μ μ§μ μμ΄ λ§λ€μ΄μ‘μ΅λλ€.
ν΄λ¦° μν€ν
μ²λ₯Ό νμ΅νκ³ μ΄ν΄ν ν, μ΄λ₯Ό μ μ© μν€λ©° μλ‘κ² μ΅λν μ§μκ³Ό κΈ°μ μ νμ©νλ €κ³ ν©λλ€.
ꡬ쑰 κ°μ κ³Όμ μ νμ¬ νλ‘μ νΈλ₯Ό ν₯μμν¬ λΏλ§ μλλΌ,
ν΄λ¦° μν€ν
μ² μμΉμ μ€μ μλ리μ€μ μ μ©νλ κ·μ€ν νμ΅ κ²½νμ΄ λ©λλ€.
κ²°λ‘ μ μΌλ‘, ν¨ν€μ§ ꡬ쑰 κ°μ μ ν₯ν νλ‘μ νΈ νμ₯μ± λΏλ§ μλλΌ κ°μΈ μ±μ₯μλ λμμ΄ λλ μμ μ΄ λ κ²μ λλ€.