Skip to content

Design Document

Yoo Jae Beom edited this page Jun 7, 2016 · 47 revisions

#Gradle

  • 1 맥북, 1 기가바이트, 2 서피스로 개발 환경의 차이가 심함
  • 개발 환경을 최대한 맞추기 위해 jetbrain의 IntelliJ를 이용하고 Build tool로 gradle을 선택.

#LCS Algorithm

  • 이 부분은 주지스님이 작성해주세요.

#MVC ##MVC?

  • 현 프로젝트는 MVC 패턴을 적용시키기에는 적합하지 않다고 판단.
  • Model이 매우 작음. 실질적으로 View, Controller 부분에서 대부분 처리가 가능함.

##Our MVC ###Model

  • Block
  • 본 프로젝트에서 지정하는 한 문장의 단위.
  • compare 작동이 이 Block 객체 단위로 이루어짐.
  • Diff
  • 실질적으로 두 text가 어떻게 다른지 체크해주는 클래스.
  • LCS
  • FileHelper
  • Pair

###View

  • 본 프로젝트에서는 fxml 부분이 모두 View를 나타내고 있다.
  • main.fxml
  • GUI 전체의 fxml.
  • edit_panel.fxml
  • text를 띄워주는 textArea 부분을 컴포넌트로 분리 함. ###Controller
  • EditPanel
  • View 부분의 EventHandler 구현
  • Controller
  • FileSelector
  • FileChooser를 이용한 load, save 함수 분리
  • EditPanelEvent

#SOLID

Clone this wiki locally