CS35 퍼싸드 패턴 디자인 패턴 디자인 패턴이란 프로그램을 설계할 때 발생했던 문제점들을 해결할 수 있도록 하나의 ‘규약’ 형태로 만들어 놓은 것 중복 코드 방지, 의존성 제거, 유지 보수 개선 등 코드의 더 좋은 구조를 만드는 것을 도와주는 코드 작성방법입니다. 퍼싸드 패턴 퍼싸드 패턴(Facade Pattern)이란 복잡한 내부 과정들을 하나의 큰 인터페이스로 감싸 외부의 간단한 인터페이스로 제공하는 패턴입니다. 커피를 만드는 상황을 kotlin 코드로 보겠습니다. class WaterTank { fun addWater(){ println("물을 추가합니다.") } } class CoffeeMachine { fun addShot(){ println("커피를 추가합니다.") } } class IceMaker { fun a.. 2023. 2. 3. 데이터베이스 정규화 데이터베이스 정규화 데이터베이스 정규화란 관계형 데이터베이스에서 중복된 데이터를 최소화하는 과정입니다. 중복된 데이터로 인해 생기는 문제를 해결할 수 있으며, 정규화된 정도를 정규형으로 표현합니다. 제1 정규형 릴레이션의 모든 레코드에서 각각의 필드에는 한 개의 값만 들어가 있어야 하는 것입니다. 학생 과목 john 수학, 영어 jake 수학 학생과 듣는 수업에 대한 릴레이션입니다. 해당 릴레이션의 첫 번째 레코드의 과목 필드에는 두 개의 값이 들어가 있기 때문에 제1 정규형이 아닙니다. 이를 제1 정규형에 맞게 정규화하면 다음과 같습니다. 학생 과목 john 수학 john 영어 jake 수학 레코드가 늘어나 DB의 저장공간을 더 차지하였으나 이는 정규화를 위해 감안하는 부분입니다. 제2 정규형 릴레이션.. 2023. 2. 1. TCP/IP 4계층 TCP/IP TCP/IP란 네트워크 사이에서 사람들이 정보를 주고받는 데 이용되는 통신 프로토콜입니다. TCP/IP는 4개의 계층(애플리케이션 계층 / 전송 계층 / 인터넷 계층 / 링크 계층)으로 나누어집니다. 애플리케이션 계층 FTP, HTTP, SSH, SMTP, DNS 등 응용 프로그램이 사용되는 프로토콜 계층입니다. 웹 서비스, 이메일 등 서비스를 실질적으로 사람들에게 제공하는 계층입니다. 전송 계층 송신자와 수신자를 연결하는 통신 서비스를 제공하고 통신을 활성화시켜주는 계층입니다. 해당 계층은 TCP와 UDP가 있습니다. TCP TCP는 Transmission Control Protocol의 약자입니다. 송신자와 수신자 사이에 먼저 연결이 설정이 된 후 데이터가 전송되는 연결지향 프로토콜을 사.. 2023. 1. 31. 전략 패턴 디자인 패턴 디자인 패턴이란 프로그램을 설계할 때 발생했던 문제점들을 해결할 수 있도록 하나의 ‘규약’ 형태로 만들어 놓은 것 중복 코드 방지, 의존성 제거, 유지 보수 개선 등 코드의 더 좋은 구조를 만드는 것을 도와주는 코드 작성방법입니다. 전략 패턴 동일한 문제를 여러 ‘캡슐화한 알고리즘’으로 필요할 때마다 교체해서 해결할 수 있게 하는 디자인 패턴입니다. 카카오페이로 결제하는 객체가 있는 상황을 kotlin 코드로 보겠습니다. class Payment { fun pay(){ println("카카오페이로 결제를 진행합니다") } } 해당 객체에 네이버페이로 결제하는 방식을 추가하고 싶은 경우 다음과 같습니다. class Payment { fun pay(type: String){ when(type){.. 2023. 1. 29. 이전 1 ··· 4 5 6 7 8 9 다음