반응형

전체 글 2934

[C#] 반복자 패턴(Iterator Pattern) - 개요, 시나리오

18. 반복자 패턴(Iterator Pattern) 18.1 개요 프로그램을 하다 보면 개체들을 보관하는 컬렉션 개체를 사용하는 것은 매우 흔한 일입니다. 그리고, 컬렉션의 안전성을 유지하기 위해서는 개체를 보관하는 공간을 직접적으로 노출시키지 않게 됩니다. 하지만 사용자의 경우 컬렉션에 보관된 개체들의 정보를 검색할 수 있어야 하며 경우에 따라서는 보관된 개체들에 대해 반복된 작업을 수행하기를 원하는 경우가 있습니다. 반복자 패턴은 컬렉션 개체의 내부 저장 공간에 대해 직접적으로 노출하는 것을 막으면서 보관된 개체들에 대해 반복된 작업을 수행할 수 있는 방법을 제공하고자 할 때 사용하는 패턴입니다. 반복자 패턴에서는 컬렉션을 반복 순회하면서 작업을 수행할 필요가 있을 때 순회할 수 있는 도구 개체를 정..

[C#] 해석자 패턴(Interpreter Pattern) - 구현

17. 해석자 패턴(Interpreter Pattern) [그림] 해석자 패턴 클래스 다이어그램 17.4 구현 해석자 패턴에 대한 예제 프로그램을 구현하는 순서는 Picture, Expression 군, Macro와 데모 코드 순으로 하겠습니다. 17.4.1 Picture Picture에서는 단순히 사진의 이름과 색조, 명도, 채도의 값을 갖는 클래스로 구현을 하겠습니다. 시나리오를 위해 필요한 클래스이며 해석자 패턴과 관련되는 형식은 아닙니다. Expression.cs namespace Interpreter { abstract class Expression { public Expression Next{ get; set; } public Expression() { Next = null; } public ..

[C#] 해석자 패턴(Interpreter Pattern) - 설계(Design)

17. 해석자 패턴(Interpreter Pattern) 17. 3 디자인 해석자 패턴에 대한 설명을 위한 예제 프로그램은 매크로를 통해 사진 보정을 할 수 있게 하는 프로그램입니다. Macro는 각 표현을 해석할 수 있는 개체들을 리스트 형태로 갖고 있습니다. 그리고, Expression 개체들은 입력된 구문을 해석을 하게 되고 뒤에 연결된 다른 Expression 개체가 있으면 해석된 부분을 제외한 구문을 해석을 하게 할 것입니다. 그리고, 사진 개체를 변환을 요청하면 리스트의 각 Expression 개체들은 이미 해석된 내용에 맞게 사진을 보정을 하도록 하겠습니다. 보통 해석자 패턴은 복합체 패턴이나 플라이급 패턴 등과 혼합하여 자주 사용이 되는데 여기에서는 책임 연쇄 패턴과 혼합하여 보았습니다. ..

[C#] 해석자 패턴(Interpreter Pattern) - 개요, 시나리오

17. 해석자 패턴(Interpreter Pattern) 17.1 개요 해석자 패턴은 사용자가 표현하기 쉬운 표현을 사용하게 하고 이를 해석하는 개체를 통해 약속된 알고리즘을 수행할 수 있게 해 주는 패턴입니다. SQL 쿼리문이나 Command 창에서 프로그램 실행 시 필요한 인자를 전달할 때와 같은 경우 등에서 많이 사용될 수 있는 패턴입니다. 해석자 패턴에서는 사용자가 원하는 다양한 명령을 쉽게 표현할 수 있게 구문 약속을 해야 합니다. 그리고, 해석자에서는 이와 같이 약속된 구문을 입력 인자로 전달되었을 때 이를 해석을 할 수 있어야 합니다. 사용자로부터 전달된 입력 구문은 하나의 표현으로 종결되기도 하지만 여러 개의 표현으로 해석될 수도 있습니다.가령 "2 Add 3" 과 같은 표현은 피 연산자:..

[C#] 명령 패턴(Command Pattern) - 구현

16. 명령 패턴(Command Pattern)[그림] 명령 패턴(Command Pattern) 클래스 다이어그램 16.4 구현 명령 패턴에 대한 예제 프로그램을 구현하는 순서는 Picture, Command 군, PictureManager, UIPart와 데모 코드 순으로 하겠습니다. 16.4.1 Picture Picture에서는 단순히 사진의 이름과 소유자 정보를 멤버로 갖는 클래스로 구현을 하겠습니다. IExecute.cs namespace Command { interface IExecute { void Execute(Picture picture); } } PictureManager.cs using System.Collections.Generic; namespace Command { class Pi..

[C#] 명령 패턴(Command Pattern) - 설계(Design)

16. 명령 패턴(Command Pattern) 16. 3 디자인 명령 패턴에 대한 설명을 위한 예제 프로그램은 사진 관리자에 관한 소재를 대상으로 하겠습니다. 사용자와 상호작용을 하는 UIPart는 클라이언트 역할을 하며 사진을 추가하거나 사진의 정보를 간단히 보여달라는 명령 혹은 상세히 보여달라는 명령을 요청하는 주체입니다. PictureManager는 UIPart에서 전달된 명령에 따라 파일을 보관하고 보여주는 등의 작업을 수행합니다. 명령 패턴으로 예제 프로그램을 작성할 것이기 때문에 PictureManager에서 수행할 추상적인 행위와 구체적인 행위는 분리하였습니다. 수행할 추상작인 행위에 대한 형식 정의는 IExecute인터페이스에 명령을 수행할 수 있는 Execute 메서드에 대한 약속을 하..

[C#] 명령 패턴(Command Pattern) - 개요, 시나리오

16. 명령 패턴(Command Pattern) 16.1 개요 프로그래밍을 하다 보면 명령을 내리는 개체와 명령을 수행하는 개체를 나누는 작업은 매 번 있는 작업입니다. 그런데, 실제 요청한 작업을 수행하는 개체에서 수행에 필요한 알고리즘을 모두 포함시켰을 경우에 비슷한 형태의 여러 메서드를 구현하여야 하는 경우가 발생합니다. 경우에 따라서는 명령을 내리는 시점과 실제 명령을 수행하는 시점이 다르고 다양한 설정에 따라 구체적인 수행 알고리즘이 다른 경우도 발생합니다. 이와 같은 경우에 명령을 내리는 곳에서 일부 알고리즘을 정의하여 명령을 수행하는 개체의 메서드를 호출할 때 입력 인자로 전달하는 것이 더 효과적인 경우가 발생합니다. 이와 같은 경우에 명령 패턴은 효과적으로 사용할 수 있습니다. 명령 패턴은..

[소프트웨어 접근성 동영상 강의] 포커스 추적기, 자동화 요소 속성 출력

[소프트웨어 접근성 동영상 강의] 포커스 추적기, 자동화 요소 속성 출력 강의 내용 소프트웨어 접근성을 제공하기 위한 UIAutomation 기술을 이용하여 포커스(초점)가 바뀔 때마다 포커스를 소유한 자동화 요소의 자동화 요소 속성을 출력하는 콘솔 응용 프로그램입니다.사용 언어는 C#입니다. 이 강의에서 포커스 트래킹 방법과 자동화 요소의 속성들이 어떠한 것들이 있는지 확인할 수 있습니다. 소프트웨어 접근성, UI 자동화 기술 게시판에서 학습하기언제나 휴일 동영상 강의 보러가기 (모든 동영상은 무료입니다.)*이번에 마이크를 교체하면서 다소 잡음이 섞이네요. 다음에 잡음을 없애도록 노력할게요. * 신체적 환경적 장애에 관계없이 소프트웨어를 접근할 수 있는 기술,소프트웨어 자동화 기술입니다. 그 중 MS사..

[C언어 무료 동영상 강의] 12. 메모리에 부호있는 정수 표현 방식 - 부호비트 필드 방식 13. 1진 보수 방식 14. 2진 보수 방식

12. 메모리에 부호있는 정수 표현 방식 - 부호비트 필드 방식 13. 1진 보수 방식 14. 2진 보수 방식 메모리에 부호있는 정수 표현 방법 부호 비트 필드 방식 1진 보수 방식 2진 보수 방식 디딤돌 C언어 관련 게시글 12. 부호있는 정수 표현 - 부호비트 필드13. 부호있는 정수 표현 - 1진 보수 방식14. 부호있는 정수 표현 - 2진 보수 방식 앞으로 프로그래밍 관련 글은 새롭게 개설한 언제나 휴일 전용 사이트에서 만나보세요. 2017년 1월 1일까지 이 곳의 프로그래밍 자료는 http://ehpub.co.kr 로 옮길 예정입니다.

[C#] 책임 연쇄 패턴(Chain of Responsibility Pattern) - 구현

15. 책임 연쇄 패턴(Chain of Responsibility Pattern) [그림] 책임 연쇄 패턴(Chain of Responsibility Pattern) 클래스 다이어그램 15.4 구현 책임 연쇄 패턴에 대한 예제 프로그램을 구현하는 순서는 ChangeHandler, ChangeHandler 에서 파생된 형식들, UIPart와 데모 코드 순으로 하겠습니다. 15.4.1 ChangeHandler ChangeHandler에서는 사진을 보정하라는 명령을 받아서 수행하는 메서드를 약속해야 할 것입니다. public abstract string ChangeRequest(List mode,string picture); 그리고, 자신 뒤에 연결할 ChangeHandler 개체를 설정하고 얻어오는 속성을 ..

반응형