본문 바로가기
반응형

프로그래밍/아키텍처 with python3

[Architecture][Python]상속과 서브 클래스 상속과 서브 클래스를 왜 사용해야 하는가? 클래스를 사용하는 이유는 효율적으로 데이터를 관리하고, 같은 코드의 반복을 없애고자 하는 DRY(Don't Repeat Yourself)의 개념이 담겨 있다. 상속 또한 한 번 정의한 데이터 타입을 필요에 따라서 수정하고 다시 재활용해서 반복되는 코드를 줄이고자 하는 목적을 가진다. 예제 스타크래프트 Unit을 가지고 예제 프로그램을 만들어 보려고 한다. 스타크래프트 상에는 다양한 Unit이 존재한다. 이때 매번 각 유닛에 대해서 클래스를 구성하여 유닛을 선언하는것은 비효율적이기 때문에, Unit이라는 공통된 클래스를 선언하고, 그 하위에 내가 필요한 유닛들의 속성들을 추가하면서 확장성을 갖는 프로그램을 만들려고 한다. lagacy 예제 - 1 class Uni.. 2022. 5. 24.
[Architecture][Python]프록시 패턴 패턴 태그 [프록시패턴] 패턴 설명 프록시(Proxy)를 번역하면 대리자, 대변인의 의미를 갖고 있다. 대리자, 대변인은 누군가를 대신해서 그 역할을 수행하는 존재이다. 이는 프로그램에도 똑같이 적용된다. 즉, 프록시에게 어떤 일을 대신 시키는 것이다. 어떤 객체를 사용하고자 할때, 객체를 직접적으로 참조하는 것이 아닌 해당 객체를 대항하는 객체를 통해 대상 객체에 접근하는 방식 1. 다른 네트워크에서 실제 리소스 대신 동작하는 클라이언트에 관련된 가상 리소스가 필요(ex. 원격 프록시) 2. 자원에 관한 엑세스를 제어/모니터링하는 경우(ex. 네트워크 프록시, 인스턴스 카운팅 프록시) 3. 직접 엑세스가 보안 문제를 발생시키거나 자원 및 객체를 손상시켜 자원과 객체를 보호해야 할때(ex. 보호프록시, .. 2022. 3. 29.
[Architecture][Python]퍼사드 패턴 패턴 태그 [퍼사드 패턴] 패턴 설명 퍼사드 패턴은 서브시스템에 있는 인터페이스들에 대한 통합된 인터페이스를 제공한다. 퍼사드란 서브시스템을 더 쉽게 사용할 수 있도록 만드는 더 높은 수준의 인터페이스를 말한다. [예시] 간단한 예시로 자동차를 들 수 있다. 자동차의 구성요소를 생각해보자. 자동차라는 물질은 대략 엔진, 파워 트레인, 차축, 휠 어셈블리, 전자 장치, 조향 시스템, 브레이크 시스템, ETC.. 즉, 여러가지 기계장치들로 구성되어 있다. 이걸 프로그래밍적 표현으론 다른 컴포넌트들로 구성되어 있다고도 표현할 수 있다. 즉, 퍼사드 패턴은 프로그램을 구성할때 큰 프로젝트를 다양한 기능들로 쪼개고 쪼개서 각각의 기능들을 구현하고, 구현된 하나하나의 기능들을 최종적으로 합해, 하나의 큰 프로젝트로.. 2022. 3. 29.
반응형