📺 시리즈 2023.10.02 - [Go/디자인 패턴] - [Go] SOLID in Go - SOLID란? 🐭 Go는 클래스와 객체 대신 값과 타입을 가지고 있다 Go는 클래스(class)와 객체(object)를 사용하는 대신 다음과 같이 구조체(struct)와 다른 타입을 기반으로 정의된 타입(type)을 사용합니다. type Gopher struct { // 구조체: 필드들의 집합체 Name string State GopherState } func (g Gopher) String() string { return fmt.Sprintf("%s is %s", g.Name, g.State) } type GopherState int8 // 별칭 타입: int8을 기반으로 새로운 타입을 정의 const ( Aw..
💧 SOLID 원칙 SOLID 원칙은 객체지향 설계 다섯 가지 원칙의 앞글자를 따서 만든 용어로, 로버트 C. 마틴(Robert C. Martin)에 의해 제시되었습니다. 단일 책임 원칙 (Single Responsibility Principle, SRP) 개방-폐쇄 원칙 (Open-Closed Principle, OCP) 리스코프 치환 원칙 (Liskov Substitution Principle, LSP) 인터페이스 분리 원칙 (Interface Segregation Principle, ISP) 의존성 역전 원칙 (Dependency Inversion Principle, DIP) 이 다섯 가지 원칙들은 반드시 지켜야 하는 의무사항은 아니지만, 좋은 설계를 위해 지향해야 하는 원칙들입니다. 💯 좋은 설계..