일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- wireshark
- macos
- Util
- HTML
- ubuntu
- MongoDB
- Scheduling
- mysql
- sequelize
- Network
- DATABASE
- postman
- Android
- OOAD
- Kotlin
- S3
- Express
- OS
- node.js
- Crawling
- linux
- TypeScript
- React
- css
- AWS
- algorithm
- typeorm
- mongoose
- docker
- python
- Today
- Total
목록
반응형
OOAD (6)
Seongwon Lim
서론 객체 지향 프로그래밍(OOP) 개발에서 가장 중요한 요소 중 하나는 산출물의 명세화, 시각화, 문서화이다. 우리는 위의 3가지 것들을 수행할 때 모델링 기술과 방법론을 통합하여 만든 표준화된 모델링 언어인 UML(Unified Modeling Language)을 사용하여 설계를 한다. '모델링 언어'라는 단어만 보고 UML을 프로그래밍 언어로 오해하는 사람들이 있지만, UML은 프로그래밍 언어가 아니라 기호, 도식, 도형 등을 통해서 표현하는 것임을 기억해야 한다. 또한, UML은 사물(Things), 관계(Relationships), 다이어그램(Diagrams) 3개의 구성요소로 이루어져 있다. 구성요소 내용 사물 - 추상적인 개념, 주제를 나타내는 요소 - 단어 관점에서 '명사' 또는 '동사'를..
서론 이번 글에서는 객체지향 설계의 5가지 기본 원칙 중에서 O에 해당하는 개방 폐쇄 원칙(OCP)에 대한 개념 및 예제를 다루고자 한다. 단일 책임 원칙(SRP)에 대한 개념은 이전 글에서 다루었으므로 해당 원칙에 대한 개념 이해가 필요한 분들은 아래 글을 참고하면 좋을 것 같다. [OOP] 객체지향 설계 원칙 SOLID - SRP(단일 책임 원칙) 이란? [OOP] 객체지향 설계 원칙 SOLID - SRP(단일 책임 원칙) 이란? 서론 객체 지향 프로그래밍을 할 때 좋은 설계를 하는 것은 매우 중요하다. 따라서 사람들은 다양한 디자인 패턴들을 적용하여 개발을 진행한다. 이렇게 다양한 디자인 패턴에 기반하여 설계를 limsw.tistory.com 개방 폐쇄 원칙 - OCP(Open Closed Prin..
서론 객체 지향 프로그래밍을 할 때 좋은 설계를 하는 것은 매우 중요하다. 따라서 사람들은 다양한 디자인 패턴들을 적용하여 개발을 진행한다. 이렇게 다양한 디자인 패턴에 기반하여 설계를 해야 추후에 시스템 유지보수 측면 혹은 시스템을 확장할 때 용이하게 개발을 진행할 수 있다. 이번 글에서는 객체 지향 설계에서 사용되는 다양한 원칙(디자인 패턴) 중에서, 2000년대 초반 로버트 마틴에 의해 정의된 객체지향 설계의 5가지 기본 원칙을 마이클 페더스가 5가지 원칙의 앞글자만 따서 정의한 SOLID 원칙 중에서 S에 해당하는 단일 책임 원칙(SRP)의 개념에 대해서 알아보고자 한다. 단일 책임 원칙 - SRP(Single Responsibility Principle) 단일 책임 원칙은 모든 클래스는 단 하나..
서론 소프트웨어 공학에서 모듈을 설계할 때에는 모듈의 독립성을 높은 수준으로 구현하여야 한다. 모듈(Module) : 시스템의 독자적인 기능으로 소프트웨어 성능 향상 및 재사용성을 높이기 위해 기능 단위로 분해한 것 모듈의 독립성을 높여야 하는 이유는 모듈의 정의와 같이 성능, 재사용성, 수정 용이성 등을 보장하기 위함이다. 또한, 모듈을 설계할 때에는 모듈 간 의존성과 모듈 내부 기능들이 기능적으로 잘 뭉쳐져 있는 지를 확인하며 설계할 필요가 있으며 해당 내용들을 만족하여야 독립성 있는 모듈을 구현할 수 있다. 그래서 이번 글에서는 위에서 언급한 2가지 내용인 모듈 설계 시 필요한 결합도(Coupling), 응집도(Cohesion)의 개념과 종류를 간단하게 살펴보고자 한다. 결합도 (Coupling)..
서론 이번 글에서는 디자인 패턴의 개념과 GoF 디자인 패턴의 개념 및 종류를 간단하게 살펴보고자 한다. Design Pattern 객체 지향 프로그래밍을 설계를 할 때 자주 발생하는 문제들을 피하기 위해 사용되는 패턴으로, 과거 소프트웨어 개발 과정에서 발견된 설계의 노하우를 축적하여 이름을 붙여 이후에 재사용하기 좋은 형태로 특정 규약을 묶어 정리한 것이다. 조금 더 쉽게 설명하면, 설계 시 구조적인 문제를 해결하는 방법들을 이름을 붙여놓은 것이라고 생각할 수 있다. Design Pattern의 필요성 프로그래밍 설계 시 복잡한 구조를 한 단어로 정의했기 때문에, 개발자 간 협업 시 원활한 의사소통이 가능하다. 소프트웨어 구조의 파악이 용이하다. 재사용성이 보장되므로 개발 시간을 단축시킬 수 있다. ..
서론 이번 글에서는 GRASP Pattern 이라는 Object에 책임(또는 역할)을 부여하여 Object-Oriented 디자인을 설계하는 방법을 다루는 9가지 원칙을 다루고자 한다. GRASP Pattern은 일반적으로 디자인 패턴이라고 불리우는 것들처럼 구체적인 구조는 없지만, 실제로 프로그램을 개발할 때 적용되는 각각의 디자인 패턴들은 GRASP 패턴이 제시하는 철학를 각 상황에서 구체적으로 구현하는 것으로 이해할 수 있다. GRASP 패턴은 9가지로 구성되어 있으며 지금부터 하나씩 살펴보자. 1. Creator Pattern 객체의 생성은 생성되는 객체의 Context를 알고 있는 다른 객체가 있다면, 해당 Context를 알고 있는 객체에 부여하라는 의미이다. 예를 들어, A 객체와 B 객체의..