JAVA CRUD, SOILD 개념

강정우·2022년 7월 15일
0

JAVA

목록 보기
17/31
post-thumbnail

자바 사원관리 프로그램 만들기

객체 개념

  • CRUD : create, read, update, delete // 이 4가지의 기능은 프로그램에 최소한 들어있어야 하는 것이다.
  • main class의 역할은 앞에서 사용자에게 보여지고 안내하는 역할이다.(View)
  • controller class의 역할은 뒤에서 기능을 수행하는 역할이다.(Controller)
  • 객체 class의 역할은 여러 변수를 하나로 묶어주고 getter, setter, toString 등 객체 생성 및 변수에 관한 편리한 method를 제공해주는 class이다.(Model)
  • 객체는 하나의 객체가 하나의 역할을 해야한다.
  • MVC model은 역할이 나뉘어 있어 유지보수 및 수정 소요가 적다는 장점이 있다.

추가공부

  • SOLID
  1. Single Responsibility Principle (단일 책임 원칙) : 하나의 클래스가 하나의 책임을 가져야 한다. 그러면 수정소요가 적어지고 서로 영향을 주지 않도록 추상화함으로써 애플리케이션의 변화에 손쉽게 대응할 수 있다.

  2. Open-Closed Principle (개방-폐쇄 원칙) : 확장에 대해 열려있고 수정에 있어 닫혀있어야 한다는 뜻으로 다시말해, 요구사항이 변경될 때 새로운 동작을 추가하여 애플리케이션의 기능을 확장할 수 있어야하고 기존의 코드를 수정하지 않고 애플리케이션의 동작을 추가하거나 변경할 수 있어야한다.

  3. Interface segregation principle (인터페이스 분리 원칙) : 클라이언트의 목적과 용도에 적합한 인터페이스 만을 제공하는 것이다.
    모든 클라이언트가 자신의 관심에 맞는 퍼블릭 인터페이스(외부에서 접근 가능한 메세지)만을 접근하여 불필요한 간섭을 최소화할 수 있다.

  4. Liskov Substitution Principle (리스코프 순환의 원칙) : 하위 타입은 상위 타입을 대체할 수 있어야 한다는 것이다. 즉, 해당 객체를 사용하는 대상은 상위 타입이 하위 타입으로 변경되어도, 차이점을 인식하지 못한 채 상위 타입의 퍼블릭 인터페이스를 통해 서브 클래스를 사용할 수 있어야 한다는 것이다.

  1. Dependency Inversion Principle (의존 역전 원칙) : 고수준 모듈은 저수준 모듈의 구현에 의존해서는 안 되며, 저수준 모듈이 고수준 모듈에서 정의한 추상 타입에 의존해야 한다는 것이다.
    고수준 모듈: 변경이 없는 추상화된 클래스(또는 인터페이스)
    저수준 모듈: 변하기 쉬운 구체 클래스
    즉, 추상화에 의존하며 구체화에는 의존하지 않는 설계 원칙을 의미한다.
  • SOLID == 핵심은 추상화이다. 구체 클래스에 의존하지 않고 추상 클래스(또는 인터페이스)에 의존함으로써 우리는 유연하고 확장가능한 애플리케이션을 만들 수 있는 것이다.

참고: MangKyu's Diary

profile
智(지)! 德(덕)! 體(체)!

0개의 댓글