Mar 22, 2021, TIL (Today I Learned) - UML

Inwoo Hwang·2021년 8월 26일
0
post-thumbnail

수업내용

UML[Unified Modeling Language]

도식화/ 시각화의 강력함

UML은 왜 필요한가?

의사소통!!

UML을 사용하는 유형 3가지:

  1. 나 자신 → 전체 구조 및 클래스 의존성 파악
  2. 같이 일하는 사람 → 의사소통 및 설계 논의
  3. 미래에 이 프로그램을 맡을 사람(나 포함) → 문서화

Structural Diagram [정적인 다이어그램]

Screen Shot 2021-03-22 at 8 20 52 PM Screen Shot 2021-03-22 at 8 21 19 PM

Sequence Diagram[동적인 다이어그램]

Screen Shot 2021-03-22 at 8 25 55 PM

Tips

UML diagram이 너무 복잡하면

  • 쪼개보고, 상위 개념에서 생각해 보자

처음부터 완벽하게 그릴 수 없기 때문에...

  • 잦은 수정을 통해 더 나은 구조로 만들어보자

꼭 지켜야 하는 법칙이 아니다

  • 의사소통이 목적임이다. 이를 잊지말자!!

UML에 관련된 더 많은 정보는 ↓↓ 참고

[UML] 클래스 다이어그램 작성법 - Heee's Development Blog (gmlwjd9405.github.io)

고민한 내용/ 해결 방법

stack을 꼭 struct로 구현해야 하는가 궁금증이 생겨서 이리저리 검색 한 뒤 내가 내린 결론은 이렇다

🙋 class가 아닌 struct로 stack을 구현하는 이유는?

📚 struct 자체가 애초에 메모리에 데이터를 저장할 때 stack 과 같은 구조로 데이터를 저장하기에 stack을 구현하기에 더 적합한 환경이고

더 나아가 struct를 쓰면

  1. class에 비해 비교적 더 빠르게 데이터를 가져올 수 있고
  2. 멀티쓰레드환경, 또는 여러 다른 class에서 stack instance를 활용할 때 메모리 누수를 막을 수 있고
  3. 불필요한 메모리낭비를 방지할 수 있다는

이점을 같고 있기에 struct 활용하는 것이 더 적합하다.

참조한 링크:

Swift Data Structures: Stack. What is a Stack? | by Caleb Stultz | devslopes | Medium

profile
james, the enthusiastic developer

0개의 댓글