CLI 자바 서비스 만들기 - 김정환#3
Conversation
Added project overview, features, and class structure to README.
- App에서 사용하기위해
- App을 실행
- 뷰를 분리할 예정
|
|
||
| public class Article{ | ||
|
|
||
| private final int id; |
There was a problem hiding this comment.
불변값이니까 final 붙여놓는거 생각 못했었는데 좋은 방식이라 생각합니다
| import java.util.Scanner; | ||
|
|
||
| public class ArticleController { | ||
| Scanner scanner = AppContext.scanner; |
There was a problem hiding this comment.
AppContext에서 생성자 주입방식으로 주입해줬으면 테스트 하기에도 용이할거같아요
|
|
||
| public void showDetail(int id){ | ||
| Article article = checkId(id); | ||
| if(article == null) |
There was a problem hiding this comment.
찾는 게시글이 있는지 확인하는 일과 화면에 글자를 출력하는 일을 나누어 보는 건 어떨까요?
지금은 서비스 클래스에서 직접 문구를 출력하고 있는데, 나중에 이 프로그램을 '웹 사이트'나 '스마트폰 앱'으로 바꾸게 되면 System.out.println은 화면에 보이지 않게 되거든요.
그래서 서비스는 단순히 '데이터가 있다/없다'만 알려주고, 실제 안내 문구는 사용자와 직접 대화하는 '컨트롤러'에서 담당하게 하면, 나중에 프로그램이 커져도 서비스 코드를 그대로 다시 쓸 수 있어 훨씬 효율적이 될 거같아요
| articleList.add(newArticle); | ||
| } | ||
|
|
||
| public void update(Article article, String newTitle, String newContent){ |
There was a problem hiding this comment.
Article 객체에서 스스로 수정하는 메서드 만들고 해당 메서드를 호출하는 방식은 어땠을까요?
public void update(String title, String content) {
this.title = title;
this.content = content;
this.modDate = LocalDateTime.now();
}
``` 이런느낌으로요|
전체적으로 코드가 직관적이고 깔끔해서 읽기 좋았습니다! |
m1nhy2uk
left a comment
There was a problem hiding this comment.
CRUD기능구현이 잘 되었고, 예외처리를 하나의 메서드로 묶어서 재사용한점이 인상적입니다.
고생많으셨습니다.
|
|
||
| public Article checkId(int id){ | ||
| if(id == 0){ | ||
| System.out.println("id를 확인해주세요.\n"); |
There was a problem hiding this comment.
ArticleService는 결과만 반환하고 출력은 ArticleController로 가도 좋을 것 같습니다.
|
과제에서 원하는 구조에 잘 알맞는 구조로 설계하신것 같습니다. 고생하셨습니다! |
|
필드 접근제어자가 전반적으로 잘 되어 있는 것 같습니다! 배워갑니다 |
CLIPost
🎯 개요
이 과제는 Java 콘솔 프로그램으로 간단한 텍스트 게시판을 구현하는 프로젝트입니다.
Java 기본 문법, 클래스 및 객체지향 설계, 사용자 입력 처리, 그리고 데이터 저장 구조(ArrayList 등)를 연습합니다.
🧩 전체 기능 및 명령어
게시글 객체 구조
⚙️ 주요 클래스 및 파일 구조 예시
🧠 메서드 설계 예시
💬 실행 예시