반응형
반응형
본문 바로가기

공부/Object-Oriented Design Pattern27

CORBA (Common Object Request Broker Architecture)란 CORBA (Common Object Request Broker Architecture)란. 코르바는 무엇인가. 간단히 (In a nutshell) 말해서, CORBA란 네트워크에서 분산 프로그램 객체를 생성, 배포, 관리하기 위한 규격이며, 네트워크 상에서 서로 다른 장소에 있는 프로그램들이 인터페이스 브로커 (Interface broker)를 통해 통신이 가능하도록 해주는 것이다. CORBA(Common Object Request Broker Architecture)는 분산된 개체 간의 상호 운용성 (interoperability)을 제공하기 위해 OMG(Object Management Group)에서 개발한 표준입니다. CORBA는 하드웨어 플랫폼, 프로그래밍 언어 및 운영 체제에 관계없이 정보 교.. 2022. 7. 12.
For this problem you must define a simple interface NumTrackerInterface and two implementations of the interface, For this problem you must define a simple interface NumTrackerInterface and two implementations of the interface, Tracker1 and Tracker2. a. Define a Java interface named NumTrackerInterface. A class that implements this interface must keep track of both the sum and the count of numbers that are submitted to it through its add method, and provide getters for the sum, the count, and the average of.. 2022. 3. 12.
Bridge Pattern 브릿지 패턴이란 Bridge Pattern 브릿지 패턴이란 Intent Bridge 는 큰 클래스 또는 밀접하게 관련된 클래스 집합을 서로 독립적으로 개발할 수 있는 두 개의 개별 계층 구조(추출 및 구현)로 분할할 수 있는 구조 설계 패턴입니다. Problem Circle과 Square라는 Subclasses 쌍이 있는 Shape 클래스가 있다고 가정합시다. 이 클래스 계층을 확장하여 색상을 통합하려고 하므로 Red 및 Blue shape subclasses를 만들 계획입니다. 그러나 이미 두 개의 하위 클래스가 있으므로 BlueCircle 및 RedSquare와 같은 네 개의 클래스 조합을 생성해야 합니다. 계층(hierachy)에 새 형상 유형과 색상을 추가하면 계층 구조가 기하급수적으로 증가합니다. 예를 들어, .. 2021. 6. 4.
Builder Pattern 빌더 패턴이란 Builder Pattern 빌더 패턴이란 Builder Pattern는 복잡한 객체를 단계별로 작성할 수 있는 작성 설계 패턴입니다. 패턴을 사용하면 동일한 구조 코드를 사용하여 객체의 다양한 유형과 표현을 생성할 수 있습니다. 문제점 많은 필드와 중첩된 오브젝트의 단계적 초기화가 필요한 복잡한 오브젝트를 상상해 보십시오. 이러한 초기화 코드는 일반적으로 많은 매개 변수를 가진 괴물 생성자 (Constructor) 안에 묻힌다. 더 나쁜 것은 클라이언트 코드 전체에 흩어져 있다는 것입니다. 예를 들어, House 개체를 만드는 방법에 대해 생각해 봅시다. 간단한 집을 짓기 위해서는 4개의 벽과 바닥을 만들고, 문을 설치하고, 창문을 맞추고, 지붕을 지어야 한다. 하지만, 만약 여러분이 더 크고 밝은 집.. 2021. 6. 1.
퍼사드 패턴 vs 빌더 패턴 차이점 퍼사드 패턴 vs 빌더 패턴 차이점 1) A facade pattern is just a way of simplifying calls in an object model so you don't have to write a large amount of code each time you want to perform a set of actions. For example you might write a facade to simplify something which has to call several objects and methods in order to perform a task. A builder pattern is just a sort of facade used to simplify the construct.. 2021. 6. 1.
Memento Pattern (메멘토 패턴)이란 Memento Pattern (메멘토 패턴)이란 의도 Memento Pattern는 개체의 구현 세부 정보를 표시하지 않고 개체의 이전 상태를 저장하고 복원할 수 있는 동작 설계 패턴입니다. 문제점 텍스트 편집기 앱을 만든다고 가정해 보십시오. 편집기는 간단한 텍스트 편집 외에도 텍스트 형식 지정, 인라인 이미지 삽입 등을 수행할 수 있습니다. 어느 시점에서 사용자가 텍스트에서 수행된 작업을 실행 취소하도록 허용하기로 결정했습니다. 이 기능은 세월이 흐르면서 너무 흔해져서 요즘 사람들은 모든 앱이 그것을 가질 것으로 기대하고 있습니다. 구현을 위해 직접적 접근 방식을 선택했습니다. 작업을 수행하기 전에 앱은 모든 개체의 상태를 기록하고 일부 저장소에 저장합니다. 나중에 사용자가 작업을 되돌리기로 결정하면.. 2021. 5. 28.
Flyweight Pattern 플라이웨이트 패턴이란 Flyweight Pattern 플라이웨이트 패턴이란 의도 Flyweight는 각 객체에 있는 모든 데이터를 유지하는 대신 여러 objects 간에 공통적인 상태 부분을 공유하여 더 많은 객체를 가용 RAM 크기에 맞출 수 있도록 하는 구조 설계 패턴입니다. 문제점 오랜 근무 시간 후에 재미를 느끼기 위해서, 여러분은 간단한 비디오 게임을 만들기로 결심했습니다: 플레이어들은 지도 주위를 돌아다니며 서로를 쏘고 있을 것입니다. 현실적인 시스템을 구현하여 게임의 고유한 기능으로 선택하셨습니다. 엄청난 양의 탄환과 미사일, 그리고 폭발로 인한 파편이 지도 전체에 날아가 선수에게 짜릿한 경험을 전달해야 한다. 이 작업이 완료되자마자 마지막 커밋을 추진하고 게임을 만든 다음 친구에게 테스트 드라이브를 보냈습니다... 2021. 5. 26.
Facade Pattern (퍼사드 패턴)이란 Facade Pattern (퍼사드 패턴)이란 https://refactoring.guru/design-patterns/facade#:~:text=A%20facade%20is%20a%20class,that%20clients%20really%20care%20about. Facade Intent Facade is a structural design pattern that provides a simplified interface to a library, a framework, or any other complex set of classes. Problem Imagine that you must make your code work with a broad set of objects that belong to a .. 2021. 5. 21.
Visitor Pattern Double Dispatch (방문자 패턴 더블 디스패치란) Visitor Pattern Double Dispatch (방문자 패턴 더블 디스패치란) 여러분이 생명체를 발견하기 위해 태양계의 행성들을 정기적으로 여행하는 행성 탐험가를 디자인하고 있다고 가정해 보자. 그러나 탐사 방법은 대기와 표면 구성의 차이로 인해 행성마다 다르다. 단순성을 위해 3개의 행성을 모형화해 봅시다. 1 2 3 4 5 6 7 public interface Planet { } public class Mercury implements Planet { } public class Mars implements Planet { } public class Saturn implements Planet { } cs 그런 다음, 우리는 각 행성에 탐사 방법을 구현합니다. 1 2 3 4 5 6 7 8 9.. 2021. 5. 19.

반응형