CS이론
-
팩토리 패턴(Factory Pattern)CS이론/디자인패턴 2023. 8. 11. 17:10
팩토리 패턴이란? 팩토리 패턴(Factory Pattern)은 GoF의 생성 패턴 중 하나로 객체 생성 부분을 떼어내 추상화한 패턴입니다. 즉, 상속 관계의 클래스에서 상위 클래스는 뼈대를 정하고 하위 클래스는 객체 생성을 결정하는 패턴입니다. 팩토리 패턴은 팩토리 메서드 패턴(Factory Method Pattern)과 추상 팩토리 패턴(Abstract Factory Pattern) 두 가지가 있습니다. 장점 객체 생성 로직이 따로 떨어져 있기 때문에 결합도를 낮출 수 있으며, 유지 보수성이 증가됩니다. 팩토리 패턴은 새로운 Product 추가 시 기존의 코드는 수정하지 않고 새로운 Product만 생성하면 되기 때문에 확장에는 열려있고, 수정에는 닫혀있는 OCP(개방 폐쇄의 원칙)을 따릅니다. 단점 ..
-
싱글톤 패턴(Singleton Pattern)CS이론/디자인패턴 2023. 8. 10. 16:59
싱글톤 패턴이란? 싱글톤 패턴(Singleton Pattern)은 GoF의 생성 패턴 중 하나로 하나의 클래스에 오직 하나의 인스턴스만 가지는 패턴입니다. 어떤 클래스가 여러 곳에서 사용될 수도 있지만 오직 하나의 인스턴스만 존재하도록 하는 것이 목적입니다. 보통 데이터베이스 연결 모듈에 많이 사용합니다. 장점 싱글톤 패턴을 통해 인스턴스를 전역적으로 접근할 수 있으며, 리소스를 공유하거나 중복 생성을 방지하여 메모리 절약을 할 수 있습니다. 단점 멀티스레드 환경에서 동기화에 주의하여야 하며, 너무 과도하게 사용하는 것은 다른 클래스의 인스턴스들 간에 결합도를 높일 수 있어 객체 지향적인 설계를 저해할 수 있습니다. 또한 TDD(Test Driven Development)를 할 때 걸림돌이 됩니다. 단위..
-
TCP 3-way HandShake & 4-way HandShakeCS이론/네트워크 2022. 12. 19. 20:05
TCP란? TCP는 Transport Layer에서 사용되는 프로토콜이다. TCP는 신뢰성이 높고 연결 지향성 서비스를 제공한다. 그러므로 정보 전달에 있어 안정적으로, 순서대로, 에러 없이 교환할 수 있도록 하는 것에 목적을 둔 프로토콜이다. 이러한 특징으로 장치들 사이에 논리적인 접속을 성립(establish)하기 위하여 handshake를 사용한다. 3-Way Handshake 는 TCP의 접속, 4-Way Handshake는 TCP의 접속 해제 과정이다. 3-Way Handshake 란? 3-Way Handshake는 데이터를 전송하기 전에 정확한 전송을 보장하기 위해 사전에 세션을 수립하는 과정이다. 양쪽 모두 데이터를 전송할 준비가 되었다는 것을 보장하고, 실제로 데이터 전달이 시작하기 전에 ..