«design-patterns» 태그된 질문

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

5
돌연변이 방법에 대한 별도의 인터페이스
나는 코드를 리팩토링하는 일을하고 있었고, 토끼 구멍에서 첫 단계를 밟은 것 같다. Java로 예제를 작성하고 있지만 무시할 수 있다고 생각합니다. 인터페이스를 Foo다음과 같이 정의했습니다. public interface Foo { int getX(); int getY(); int getZ(); } 그리고 다음과 같은 구현 public final class DefaultFoo implements Foo { public DefaultFoo(int x, int …

2
발행-구독 패턴은 gotos와 어떻게 다릅니 까?
내 이해는 Goto 진술이 일반적으로 눈살을 찌푸리게한다는 것 입니다. 그러나 publish-subscribe 패턴 은 코드 조각이 메시지를 발행 할 때 단방향 제어 전송을 수행한다는 점에서 개념적으로 유사 해 보입니다. 프로그래머는 프로그램의 어떤 부분이이 메시지를 구독하고 있는지 전혀 모를 수 있습니다. 모듈을 통해 편리하게 "홉"하는 이벤트를 사용하는 많은 JavaScript 프로그램에서 비슷한 것을 …

1
MVC + 3 계층; ViewModel이 어디에서 사용됩니까?
ASP.NET MVC 4를 사용하여 3 계층 응용 프로그램을 설계하고 있습니다. 다음 리소스를 참조로 사용했습니다. CodeProject : MVC + N 계층 + 엔터티 프레임 워크 ASP.NET MVC에서 데이터 액세스 분리 나는 지금까지 다음과 같은 것을 가지고있다. 프리젠 테이션 레이어 (PL) (주 MVC 프로젝트 M 의 MVC는 데이터 액세스 레이어로 이동했다) MyProjectName.Main …

2
루비 온 레일을 배우려는 .Net 개발자
저는 .NET 개발자이며 이번 주말에 Ruby on Rails를 사용할 수있었습니다. .NET에서는 별도의 클래스 라이브러리 프로젝트를 작성하여 애플리케이션 계층을 분리합니다. 디자인 패턴 관점에서 우리는 Rails에서도 그렇게해야합니까, 아니면 모든 것이 포함 된 하나의 전체 프로젝트입니까?

4
명령 패턴 디자인
이 이전의 명령 패턴 구현이 있습니다. 그것은 모든 DIOperation 구현을 통해 Context를 전달하는 것이지만, 학습과 학습 과정에서 멈추지 않는 나중에 실현되지 않는 것을 나중에 깨달았습니다. 또한 여기에있는 "방문"은 실제로 적합하지 않으며 혼동된다고 생각합니다. 나는 실제로 내 코드를 리팩토링하려고 생각하고 있습니다. 명령은 다른 것에 대해 아무것도 알지 못하고 현재 모두 동일한 …


3
Efferent / Afferent 커플 링이 좋은지 나쁜지
이번 주에 소프트웨어 패턴 시험을 보았으며 우리가 공부해야 할 주제 중 하나는 Efferent and Afferent coupling입니다. 패키지가 다른 많은 유형에 의존하는 경우 높은 Ce (efferent coupling) 패키지를 알고 있습니다. 예를 들면 다음과 같습니다. class Car{ Engine engine; Wheel wheel; Body body; } 이 클래스는 엔진, 휠 및 바디 유형에 따라 …

5
CSS-범용 '*'선택기 대 html 또는 본문 선택기를 사용 하시겠습니까?
body 태그에 스타일을 적용하면 전체 페이지에 적용되므로 body { font-family: Verdana } 전체 페이지에 적용됩니다. 이것은 또한 할 수 있습니다 * {font-family: Verdana} 모든 요소에 적용되므로 동일한 효과가있는 것 같습니다. 첫 번째 경우 스타일은 전체 페이지의 한 태그, 본문에 적용되는 반면 두 번째 예제에서는 글꼴이 각 개별 html 요소에 적용된다는 …

8
언어 구성에 디자인 패턴이 추가되지 않는 이유는 무엇입니까?
최근에 나는 그의 회사가 MVC 디자인 패턴을 PHP 확장으로 추가하고 있다고 언급 한 동료와 이야기를 나누었습니다. 그는 Controllers, Models and Views성능 향상을 위해 언어 구성 에 추가 하기 위해 C 코드를 작성했다고 설명했습니다 . 이제 MVC는 웹 응용 프로그램에서 널리 사용되는 아키텍처 디자인 패턴이라는 것을 알고 있지만 컨트롤러와 같은 언어 …

9
어떤 OO 디자인을 사용해야합니까 (디자인 패턴이 있습니까)?
'Bar / Club'(음료 / 사회적 장소)을 나타내는 두 가지 개체가 있습니다. 한 시나리오에서 막대 이름, 주소, 거리, 슬로건이 필요합니다. 다른 시나리오에서는 바 이름, 주소, 웹 사이트 URL, 로고가 필요합니다 그래서 같은 것을 나타내지 만 다른 필드를 가진 두 개의 객체가 있습니다. 불변의 객체를 사용하고 싶습니다. 그래서 모든 필드는 constructor에서 설정됩니다 …

4
캡슐화 남용으로 고통 받습니까?
코드 냄새가 나고 나쁜 것으로 보이는 다양한 프로젝트에서 내 코드의 무언가를 발견했지만 처리 할 수 ​​없습니다. "깨끗한 코드"를 작성하는 동안 코드를보다 쉽게 ​​읽을 수 있도록 개인 메서드를 과도하게 사용하는 경향이 있습니다. 문제는 코드가 실제로 깨끗하지만 테스트하기가 더 어렵다는 것입니다 (예, 개인 메서드를 테스트 할 수 있다는 것을 알고 있습니다 ...). …

2
'결과'와 '상태'를 분리하면 어떤 이점이 있습니까?
일반적으로 다음과 같은 상태를 거치는 자동화 된 프로세스가 있다고 가정합니다. 예약-시작-확인-실행-완료 또한 이러한 프로세스는 오류 또는 명시적인 사용자 취소로 인해 조기에 종료 될 수 있습니다. 내 첫 번째 충동은 단순히 오류 를 추가 하고 가능한 상태 값 목록에 취소 하는 것입니다. 그러나 결과 를 상태 에서 분리하는 (개념적) 장점에 대해 …

4
반복자가 비파괴 암시 적 계약을 가지고 있습니까?
스택이나 대기열과 같은 사용자 정의 데이터 구조를 설계한다고 가정 해 봅시다 (예 : 논리적으로 동등한 push및 pop메소드 (예 : 파괴적 액세서 메소드) 를 갖는 다른 임의의 정렬 된 컬렉션 일 수 있음 ). IEnumerable<T>각 반복에서 발생하는이 컬렉션에 대해 반복자를 .NET에서 (특히, ) 구현하는 경우 IEnumerable<T>암시적인 계약 이 위반 됩니까? 않습니다 …

3
CRTP가 많이 사용됩니까? 왜 그렇지 않은가? [닫은]
폐쇄되었습니다 . 이 질문은 의견 기반 입니다. 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? 이 게시물 을 편집 하여 사실과 인용으로 답변 할 수 있도록 질문을 업데이트하십시오 . 휴일 육년 전 . 나는 호 기적으로 반복되는 템플릿 패턴 에 대해 생각하고 있습니다. 나는 그것이 매우 유용하다는 것을 알았고 많은 작업에 …

6
단일 책임 원칙으로 고군분투
이 예제를 고려하십시오. 웹 사이트가 있습니다. 사용자가 게시물을 작성하고 (무엇이든 가능) 게시물을 설명하는 태그를 추가 할 수 있습니다. 코드에는 게시물과 태그를 나타내는 두 개의 클래스가 있습니다. 이 클래스 Post들을 호출 할 수 있습니다 Tag. Post게시물 생성, 게시물 삭제, 게시물 업데이트 등 Tag을 처리합니다. 태그 생성, 태그 삭제, 태그 업데이트 등을 …

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