# SOLID

7개의 포스트

객체 지향 설계 5원칙 (SOLID)와 SoC

단일 책임 원칙::Single Responsibility Principle 어떤 클래스를 변경해야 하는 이유는 오직 하나여야 한다. 메소드가 단일 책임 원칙을 지키지 않을 경우 나타나는 대표적인 예가 분기 처리를 위한 if문이다. 개방 폐쇄 원칙::Open Closed Principle 클래스, 모듈, 함수 등은 확장에 대해서 열려있어야 하지만 변경에 대...

2020년 1월 31일
·
0개의 댓글
post-thumbnail

RecoFashion - JUnit을 이용한 유닛테스트

들어가기에 앞서 이번 프로젝트에서 중요하게 여겼던 점 중 하나는 백엔드 아키텍쳐에 관한 것이었는데, 객체 지향 SOLID 원칙 및 clean architecture의 기저에 있는 원칙들을 지켜가며 코드를 작성하려고 노력했다. 구조화된 코드를 작성하는 이유는 두 가지이다. 1. 유지 보수 용이성 어차피 혼자 진행하는 프로젝트이고 따라서 전체적인 어플리케...

2019년 12월 2일
·
0개의 댓글
post-thumbnail

project 계획 : 코디 추천 서비스

목표 서비스 패션 코디 추천 서비스 기능 매일 데일리 코디를 추천해준다. 배색 조합 관련 이론을 참고해 사용자에게 상하의 배색 조합 추천 추가로 피부톤, 개인 선호, 지난 날들의 데이터 등을 고려해 종합적인 recommendation 제공 그 날의 날씨를 고려해 입을만한 옷의 종류 추천 상하의 배색 조합을 추천해 주면서 참고할 만한 관련 패션 사진들 띄...

2019년 11월 12일
·
0개의 댓글

[Software Design] ISP (Interface Segregation Principle)

Clients should not be forced to depend upon interfaces that they do not use. > 클라이언트(기능을 사용하는 클래스)는 사용하지 않는 인터페이스(+ 기능, 메소드 등)에 의존하면 안된다. > 《Agile Software Development, Principles, Patterns, and Pract...

2019년 11월 4일
·
0개의 댓글

[Software Design] SRP (Single Responsibility Principle)

책임 로버트 C. 마틴은 책임을 변경하려는 이유라고 정의했다. 변화의 시기와 이유가 같다면 같은 책임 아래 있다고 보는 것이다. 반대로, 한 객체 내에서 변화의 시기, 이유가 다른 부분이 존재한다면 그 객체는 여러 책임을 가지고 있는 것이다. 그에 따라 이렇게 좀 더 알아보기 쉽게 정의할 수 있을 것 같다. > 책임은 객체에 의해 정의되는 응집도있는 ...

2019년 10월 28일
·
0개의 댓글

[Software Design] DIP (Dependency Inversion Principle)

Dependency? 변경에 초점을 맞춤 B가 변경될 때 A가 함께 변경되는 것 클래스 명 메소드 명 구현 이외의 어떤 것이든 변경에 의해 영향을 받을 수 있는 모든 가능성 설계를 어떻게 하느냐에 따라 B의 내부 구현이 변경되더라도 A가 영향을 받지 않을 수도 있음 Class 의존성 연관 관계 인스턴스 생명 주기 동안 영구적으로...

2019년 10월 21일
·
0개의 댓글

객체지향 개발 원칙 : SOLID

SRP, 단일 책임의 원칙 * 어떤 클래스를 변경해야 하는 이유는 오직 하나뿐이어야 함 * 하나의 클래스는 하나의 책임만을 가지고 있어야 함 - OCP, 개방 폐쇄의 원칙 * 프로그램의 확장에 있어서는 개방되어 있어야 하지만, 변경에 있어서는 닫혀있어야 함 * 프로그램에 새로운 기능이 추가될 때, 기존의 코드가 수정되지 않아야 함 - LSP, ...

2019년 4월 21일
·
0개의 댓글