«design-patterns» 태그된 질문

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

4
이 시나리오에서 방문자 패턴이 유효합니까?
내 작업의 목표는 예약 된 되풀이 작업을 실행할 수있는 작은 시스템을 설계하는 것입니다. 되풀이되는 작업은 "월요일부터 금요일까지 오전 8 시부 터 오후 5 시까 지 관리자에게 이메일을 보내는 것"과 같습니다. RecurringTask 라는 기본 클래스가 있습니다. public abstract class RecurringTask{ // I've already figured out this part public bool isOccuring(DateTime dateTime){ …

3
데이터 유형에 인터페이스를 사용하는 것이 안티 패턴입니까?
사용자, 제품, 송장 및 주문과 같이 모델에 EF를 사용하는 다양한 엔터티가 있다고 가정합니다. 엔티티가 사전 결정된 세트에 속하는 응용 프로그램에서 엔티티 객체의 요약을 인쇄 할 수있는 사용자 정의 컨트롤을 작성 중입니다.이 경우 사용자 및 제품 요약을 요약 할 수 있다고 말합니다. 요약에는 모두 ID와 설명 만 포함되므로 이에 대한 간단한 …

1
메뉴 건물 패턴
메뉴를 라우팅에 사용하지 않을 때 메뉴의 활성 상태 처리를 둘러 보는 데 문제가 있습니다. 메뉴 시스템도 라우팅을 처리하는 Drupal에서 왔습니다. 따라서 활성 상태 및 활성 트레일 상태 설정은 경로 (메뉴 렌더링 시스템의 역할도 함)에 의해 처리됩니다. 이제 많은 PHP 프레임 워크에는 라우팅을 처리하는 라우터 클래스가 있습니다. 메뉴가 POST를 인식해서는 안되기 …

1
API와 응용 프로그램간에 객체를 공유하는 패턴
웹 응용 프로그램의 디자인에 대해 심각한 의문이 있습니다. 비즈니스 로직을 인터페이스와 분리하고 싶었으므로 데이터베이스에 대한 모든 요청을 처리하는 웹 API를 만들었습니다. 엔터티 프레임 워크와 작업 단위 및 일반 리포지토리 패턴이있는 ASP.NET 웹 API입니다. 지금까지 모든 것이 좋습니다. 문제 도움이 필요한 곳은 API와 응용 프로그램간에 객체를 효율적으로 공유하는 방법을 알 수 …

2
자바 스크립트 MVC 애플리케이션 디자인 (캔버스)
Javascript에서 MVC와 같은 접근 방식을 사용하여 캔버스 응용 프로그램을 구조화 / 아키텍처하는 방법을 파악하는 데 어려움을 겪고 있습니다. UI는 상당히 유동적이고 애니메이션화되며 게임은 매우 단순하지만 트위닝 및 애니메이션에 중점을 둡니다. MVC는 원칙적으로 작동하지만 실제로는 작동하지 않습니다. 나는 이것에서 버거를 봤고, 끔찍한 많은 것을 읽었으며, 내가 처음 시작할 때와 마찬가지로 혼란스러워했다. …

4
.NET 프로그래밍 및 POCO 클래스
오늘 밤에 변경해야 할 응용 프로그램을 숙고하면서 생각을하고 있었고 생각하게했습니다. Entity Framework 엔터티는 POCO (Plain old CLR Objects)이며 ASP.NET MVC에 사용되는 모델도 일반적으로 POCO입니다. 이것은 기본적으로 속성이 아니라 메서드를 의미합니다. 이제 OO 프로그래밍은 일반적으로 객체가 객체의 기능과 메소드를 포함하는 기능을 캡슐화 할 수있게하여 다형성이 발생할 수 있도록합니다. POCO 클래스가 증가함에 …

2
스칼라에서 자기 유형과 형질 상속의 차이점은 무엇입니까?
Google 검색시이 주제에 대한 많은 답변이 나타납니다. 그러나 나는이 두 기능의 차이점을 잘 설명하는 사람이 있다고 생각하지 않습니다. 한 번 더 시도하고 싶습니다. 구체적으로 ... 자기 유형으로 할 수 있고 상속하지 않고 할 수있는 것은 무엇입니까? 나에게, 둘 사이에 정량화 할 수있는 물리적 차이가 있어야한다. 그렇지 않으면 명목상 다르다. 특성 …

3
Entity Framework 데이터베이스 컨텍스트 (모델)를 MVVM WPF의 ViewModel에 연결하는 가장 좋은 방법은 무엇입니까?
위의 질문에서와 같이 : Entity Framework 데이터베이스 모델 (컨텍스트)을 MVVM (WPF)의 viewModel에 연결하는 가장 좋은 방법은 무엇입니까? WPF에서 MVVM 패턴을 배우고 있습니다. 많은 예제는 모델을 viewModel에 구현하는 방법을 보여 주지만 해당 예제의 모델은 단순한 클래스이므로 엔터티 프레임 워크 모델과 함께 MVVM을 사용하고 싶습니다 (기본 우선 접근법). 모델을 viewModel에 연결하는 가장 …

3
REST에서 엔티티 관계 작성 : 하위 ID를 게시하여 상위를 작성할 수 있습니까?
현재 기존 고객 데이터에 액세스 할 수있는 REST API를 설계하고 있습니다. API의 요소 중 하나는 사용자의 자산입니다. 주어진 서비스에 따라 자산이 추가됩니다. 백엔드 API는 지정된 서비스에서 사용자에게 자산 만 추가합니다. 따라서 User-Asset 관계는 없지만 User-[Service]-Asset 관계는 없습니다. URI는 다음과 같습니다. /users/{id}/assets/{id}/services/{id} API를 사용하면 자산 ID 및 서비스 ID를 알고 새 …

4
Perl의 프로그래밍 스타일
Java로 작업하므로 기본적으로 코딩 중에 OOP 패러다임을 사용합니다. 저는 Perl에서 일을 시작하려고하는데 Perl 개발자들이 따르는 패러다임이 무엇인지 궁금했습니다. 위키에서는 많은 패러다임을 지원한다고 언급하지만 스크립트 언어이기 때문에 이것을 이해하지는 못합니다. 그래서 내 질문은 : Perl의 Java 관용구에 익숙한 객체 지향 패턴입니까, 효과적인 Perl을 작성하려면 디자인 스타일을 크게 변경해야합니까? 참고 : 이것은 …

2
시간 지연을 시뮬레이션하기 위해 '명령'과 '복합'을 어떻게 결합합니까?
학습 운동 (나는 학교에 있지 않습니다-단지 새로운 것을 배우려고 노력하는 노인), 나는 전파 지연을 통합하는 논리 게이트 시뮬레이션을 작성하려고합니다. 사용자는 게이트를 함께 그룹화하여 더 높은 수준의 객체를 만들 수 있어야합니다. 문제에 디자인 패턴을 적용하고 싶지만 어려움을 겪고 있습니다. Head First Design Patterns를 읽고 있는데 Command 패턴이 지연된 회로를 통해 전기 …

5
관찰자 패턴에 비해 델리게이트 패턴의 장점은 무엇입니까?
에서 위임 패턴 , 하나의 개체가 직접 다른 개체의 이벤트를 수신 할 수 있습니다. 에서 관찰자 패턴 , 객체의 수는 특정 개체의 이벤트를 수신 할 수 있습니다. 다른 객체에 이벤트를 알리는 클래스를 설계 할 때 왜 옵저버 패턴보다 델리게이트 패턴을 사용하겠습니까? 관찰자 패턴이 더 유연하다고 생각합니다. 지금은 하나의 관찰자 만있을 …

3
메멘토 패턴의 철학
나는 다양한 인터넷 소스에서 memento 패턴을 읽었습니다. 다른 출처의 정보와 다른 점 때문에이 패턴이 실제로 필요한 이유에 대해 혼란스러워했습니다. dofactory 구현이 패턴의 주요 목적은 시스템의 상태를 복원하는 것을 말한다. Wiki 는 주요 목적은 시스템의 변경 사항을 복원 할 수 있도록 하는 것이라고 말합니다 . 이것은 시스템이 복원 할 필요없이 메멘토를 …

5
상속을 언제 중단해야합니까?
옛날 옛적에 나는 상속에 대해 Stack Overflow 에 대해 질문했다 . 체스 엔진을 OOP 방식으로 디자인한다고 말했습니다. 그래서 나는 조각 추상 클래스에서 모든 조각을 상속 받지만 상속은 여전히 ​​계속됩니다. 코드로 보여 드리겠습니다 public abstract class Piece { public void MakeMove(); public void TakeBackMove(); } public abstract class Pawn: Piece {} …

4
자식 상태 머신이 어떻게 컨트롤을 부모 상태 머신으로 되돌릴 수 있습니까?
내 최상위 상태 시스템에는 몇 가지 상태와 가장자리가 있습니다. 이것을 부모 상태 머신이라고합니다. A ----> B ----> C 상위 상태 시스템 내의 모든 상태도 상태 시스템 일 수 있습니다. 이 아이들 상태 머신이라고 부를 것입니다. ___________ / \ A ----> | B0->B1->B2 | ----> C \____________/ 상위 상태 머신이 A에서 …

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