«design-patterns» 태그된 질문

디자인 패턴은 소프트웨어 디자인에서 일반적으로 발생하는 문제에 대한 일반적인 재사용 가능한 솔루션입니다.

13
MVC의 M은 어디에 있습니까?
내 응용 프로그램을 MVC로 리팩토링하려고하지만 M 부분에 붙어 있습니다. 데이터베이스 기반 앱에서 모델은 앱 코드로 구현됩니다. 그러나 데이터베이스에 무엇이 있는가? 그것은 모델이 아닌가? (데이터베이스를 단순한 객체 저장소로 사용하지 않습니다. DB의 데이터는 엔터프라이즈 자산입니다).

8
복잡성을 언제 제거해야합니까?
디자인 패턴이 필요하기 전에 구현하여 복잡성을 조기에 도입하는 것은 좋은 습관이 아닙니다. 그러나 모든 (또는 대부분의) SOLID 원칙을 따르고 공통적 인 디자인 패턴을 사용하는 경우 기능과 요구 사항이 추가되거나 변경되어 디자인을 유지 관리 가능하고 유연하게 유지하기 위해 약간의 복잡성이 발생합니다. 그러나 일단 그 복잡성이 도입되어 챔피언을 제거했을 때 챔피언처럼 작동합니까? …

3
“관리자”수업 사용을 줄이는 방법에 대한 팁 / 조언?
프로그램 디자인에 너무 많은 "관리자"클래스가 있으면 코드 냄새가 나고 불필요한 복잡성이 추가되는 경우가 있습니다. 나에게 사람들은 이해하기 쉬운 컨텍스트에서 객체를 조작하고 제어하기 위해 관리자 클래스를 사용하고 싶지만 솔루션없이 솔루션을 작동시키는 방법을 알아내는 것은 혼란 스러울 수 있습니다. 관리자 클래스를 최대한 많이 피해야합니까? 또한 이러한 관리자를 제거 할 수있는 일반적인 / …


3
인터페이스를 행동으로하는 추상 기본 클래스?
C # 프로젝트의 클래스 계층을 디자인해야합니다. 기본적으로 클래스 기능은 WinForms 클래스와 유사하므로 WinForms 툴킷을 예로 들어 보겠습니다. (그러나 WinForms 또는 WPF를 사용할 수 없습니다.) 모든 클래스가 제공해야하는 몇 가지 핵심 속성과 기능이 있습니다. 치수, 위치, 색상, 가시성 (true / false), 그리기 방법 등 디자인 조언이 필요합니다. 추상적 인 기본 클래스와 …

2
데코레이터 패턴이 Java IO 클래스에 있습니까?
과제를 위해, 나는 갱 네 가지의 디자인 패턴의 클래스 어떤 알아 내야 java.io.Reader와 그 서브 클래스 java.io.PushbackReader, java.io.BufferedReader및이 java.io.FilterReader와 함께 건설되었다. 이 게시물 에 따르면 디자인 패턴은 데코레이터 패턴입니다. 이 경우에만 나에게 의미가 있습니다 PushbackReader, BufferedReader그리고 FilterReader효과적으로를 만드는 동시에 사용되는 장식 할 수 있습니다 BufferedPushbackFilterReader. 그게 아이디어야?

3
Winforms 솔루션을 위해 MVP를 어떻게 설정합니까?
나는 과거에 MVP와 MVC를 사용해 왔으며, MVP가 그것이 실행 흐름을 훨씬 더 잘 제어한다는 점에서 MVP를 선호합니다. 인프라 (데이터 저장소 / 리포지토리 클래스)를 만들어 샘플 데이터를 하드 코딩 할 때 문제없이 사용하므로 이제 GUI로 이동하여 MVP를 준비하고 있습니다. 섹션 A MVP가 뷰를 시작점으로 사용하는 것을 보았습니다. 즉, 뷰 생성자 메소드에서 …

6
순수한 기능성 대 말하기, 묻지 않습니까?
"함수에 대한 이상적인 인수 개수가 0"은 분명하지 않습니다. 이상적인 인수 수는 함수에 부작용이 없는데 필요한 숫자입니다. 그보다 적 으면, 불필요하게 함수가 불완전하게되어 성공의 구덩이에서 멀어지면서 고통의 구배를 상승하게됩니다. 때때로 그의 조언으로 "Uncle Bob"이 발견됩니다. 때때로 그는 장관이 잘못되었습니다. 그의 제로 논증 조언은 후자의 예입니다 ( 출처 :이 사이트의 다른 질문에 …

2
객체 지향 대 벡터 기반 프로그래밍
객체 지향 디자인과 벡터 기반 디자인 사이에서 찢어졌습니다. 나는 객체가 전체 아키텍처에 부여하는 능력, 구조 및 안전을 좋아합니다. 그러나 동시에 속도는 나에게 매우 중요하며 배열에 간단한 float 변수를 사용하면 Matlab 또는 Python의 numpy와 같은 벡터 기반 언어 / 라이브러리에서 실제로 도움이됩니다. 여기 내 요점을 설명하기 위해 작성한 코드가 있습니다. 문제 …

3
MVC에서는 DAO가 컨트롤러 또는 모델에서 호출되어야합니다.
Controller 클래스에서 직접 DAO가 호출되고 Model 클래스에서 DAO가 호출되는 DAO에 대한 다양한 주장을 보았습니다. 사실 개인적으로 MVC 패턴을 따르는 경우 컨트롤러가 DAO와 결합해서는 안되지만 Model 클래스는 내부에서 DAO를 호출하고 컨트롤러가 모델 클래스를 호출해야합니다. 왜냐하면, 우리는 웹 애플리케이션과 분리하여 모델 클래스를 분리하고 REST 서비스가 모델 클래스를 사용하는 것과 같은 다양한 방법으로 …

3
DAO는 싱글 톤이어야합니까?
RESTful API를 개발 중이며 DAO를 리소스에 사용하는 것이 편리하다고 생각합니다. 메모리를 사용하여 저장하려고 계획하고 있지만 사용하기로 결정한 경우 내 라이브러리를 사용하는 사람에게 문을 닫고 싶지 않기 때문에 DAO를위한 데이터베이스 구현. 내 질문은 DAO가 싱글 톤이어야하는지 아닌지입니다. 그렇지 않은 경우 서비스에 DAO 인스턴스가 있으며 대략 다음과 같습니다. @Path("eventscheduler") public class EventSchedulerService …


3
Model-View-Controller : 사용자가 View 또는 Controller와 상호 작용합니까? [닫은]
폐쇄되었습니다 . 이 질문에는 세부 사항이나 명확성 이 필요 합니다 . 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? 이 게시물 을 편집 하여 세부 사항을 추가하고 문제점을 명확하게하십시오 . 휴일 육년 전 . 최근 MVC 디자인 패턴에 대해 배웠습니다. Head First Design Pattern 책에서 배우고 있습니다. 이 책에 따르면 (정확하게 …

7
중요한 분기없이 전략 패턴을 구현할 수 있습니까?
전략 패턴은 거대한 if ... else 구문을 피하고 기능을 쉽게 추가하거나 대체 할 수 있도록하는 데 효과적입니다. 그러나 여전히 내 의견으로는 하나의 결함이 남아 있습니다. 모든 구현에서 여전히 분기 구성이 필요한 것처럼 보입니다. 팩토리 또는 데이터 파일 일 수 있습니다. 예를 들어 주문 시스템을 사용하십시오. 공장: // All of these …

4
입력 매개 변수가 다른 작업자를위한 C # 디자인 패턴
이 문제를 해결하는 데 어떤 디자인 패턴이 도움이 될지 잘 모르겠습니다. '코디네이터'라는 클래스가 있는데, 여기에는 모든 유형의 작업자에 대해 몰라도 어떤 작업자 클래스를 사용해야하는지 결정합니다. 단지 WorkerFactory를 호출하고 공통 IWorker 인터페이스에 작용합니다. 그런 다음 적절한 Worker가 작동하도록 설정하고 'DoWork'메서드의 결과를 반환합니다. 이것은 지금까지 훌륭했습니다 ... 지금까지; 새로운 Worker 클래스 인 …

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.