본문 바로가기
반응형

CS/Java5

SOLID 원칙 필자는 암묵적으로 지켜오려고 노력했던 SOLID원칙에 대해서 명확하게 하기 위해서 학습을 진행했습니다. 1. S(단일 책임 원칙) 정의 1개의 모듈은 하나의 Actor를 책임 진다는 뜻 입니다 모듈: 함수와 데이터구조로 이뤄진 하나의 응집체 입니다 Actor: 시스템/모듈을 사용자 및 이해관계자 입니다 하나의 역할을 해야하는건 Method이지 Class는 하나의 역할을 하게 되면 복잡성과 관리에 문제가 될 수 있다 다중 Actor 예시 Employee라는 Entity 객체가 있습니다 추가 비즈니스 로직 급여 징수 로직: 회계 Entity 저장 로직(DB): 일반 DB저장 업무 진행시간 report 기능: 인사 위의 3가지 요구사항은 모두 회계, 인사, 일반으로 총 3개의 Actor를 가지게 됩니다 다중A.. 2022. 2. 6.
예외(Exception) 예외 검사 예외 호출 하는 쪽에서 복구를 해야하는 로직을 검사 예외로 잡습니다 호출자가 Catch문을 사용해서 예외를 잡아 처리하거나, 더 밖으로 전파 하도록 강제 해야합니다 복구 가능성이 존재할 떄 사용합니다 비검사 예외 모든 비검사 throwable은 RuntimeException을 상속받은 예외들이어야 합니다. 런타임 예외 프로그래밍 오류를 나타낼때 사용합니다 전제조건을 만족하지 못할때 주로 사용합니다 ArrayOutOfBoundException이 대표적인 예시입니다 에러 정의: 시스템 종료되어 할 수준의 상황이거나 수습이 불가능한 상황을 의미 OutOfMemorym StackOverFlow가 대표적인 예시 입니다 Checked Exception과 UnCheckedException Checked E.. 2022. 1. 20.
함수형 프로그래밍 필자의 생각 비즈니스 로직 복잡도가 높아짐에 따라 사이드 이펙트를 유지 보수성에 따라서 함수형이 뜨고 있습니다 필자는 Java카테고리에 넣기에는 애매한 부분이 있지만 다른 카테고리에 넣기 애매해서 java category에 넣는 걸 결정 했습니다 1. 함수형 프로그래밍 등장배경 비즈니스 로직이 복잡해 지기 때문에 여러 코드와 비즈니스 로직이 스파게티와 같이 엉키는 이슈가 자주 발생 사이드 이펙트와 같은 유지 보수에 어려움을 유발하는 요소들이 많이 발생하게 되었습니다. 사이드 이팩트를 제거 하기 위해서 일관적인 로직을 순수 함수로 정의하여 가독성을 높이고 유지 보수에 편리함을 제공하기 위해 나왔습니다. 2. 함수형 프로그래밍의 특징 순수 함수 정의 부수효과가 없는 함수 즉, 어떤 함수에 동일한 인자를 주었.. 2022. 1. 18.
LocalDatetime, LocalDate, LocalTime 개요 java 8부터 날짜 계산 코드를 Date, Calendar객체대신 LocalDatetime을 주로 사용하게 되었습니다. 사용하게 된 이유와 원인 그리고 기존 객체들의 문제점을 확인 하고자 글을 적게 되었습니다. 1. Calendar와 Date 문제점 1.1 불변객체가 아니다 calendar와 date클래스에서 set method를 호출해서 언제나 저장된 날짜 정보 변경 가능 사이드 이펙트 이슈가 많음 1.2 int 상수 필드의 남용 calendar.add(Calendar.SECOND, 1); calendar.add(Calendar.JUNE, 1); 첫 번째 파라미터에는 JUNE과 같은 전혀 엉뚱한 값이 들어가도 컴파일 시점에서 확인할 방법이 없음 1.3 month 지정 이슈 Calendar.OCT.. 2022. 1. 12.
반응형