«design-patterns» 태그된 질문

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

4
게임을위한 행동 / 컴포넌트 기반 시스템 만들기
배경 저는 취미로 게임 개발을하고 있으며, 더 나은 방법으로 게임을 디자인하고 있습니다. 현재 표준 OOP 접근 방식을 사용하고 있습니다 (8 년 동안 엔터프라이즈 개발을 해왔 기 때문에 실제로 적용됩니다). 예를 들어 "바디" public class Baddie:AnimatedSprite //(or StaticSprite if needed, which inherit Sprite) { //sprite base will have things like what …

4
역동적이고 약한 유형의 언어에서 디자인 패턴과 OOP 관행에 대한 생각은 어떻게 변합니까?
이 라인들에 이미 상당히 유용한 질문 ( " 비 OOP 디자인 패턴? ")이 있지만, 역동적이고 약한 유형의 언어로 시작하는 사람에 대한 과도기적 인 관점에 대해 더 궁금합니다. 즉, 몇 년 동안 C ++, C # 또는 Java로 프로그래밍을 해왔으며 GoF 디자인 패턴, Fowler 's Enterprise Application Architecture 의 패턴 , …

5
수정 된 전략 디자인 패턴
나는 최근에 디자인 패턴을 조사하기 시작했고, 코딩하는 것 중 하나는 작은 차이를 제외하고 전략 패턴에 완벽하게 맞을 것입니다. 기본적으로 내 알고리즘 중 일부 (모두는 아님)에는 추가 매개 변수가 필요합니다. 그래서 나는 계산 메소드를 호출 할 때 추가 매개 변수를 전달하십시오. 또는 ConcreteAlgorithm 클래스 내에 변수로 변수를 저장하고 알고리즘을 호출하기 전에 …

2
정적 작성 방법-생성자와 비교 한 장단점
생성자에 대한 정적 객체 생성 방법의 장단점은 무엇입니까? class Foo { private Foo(object arg) { } public static Foo Create(object arg) { if (!ValidateParam(arg)) { return null; } return new Foo(arg); } } 내가 생각할 수있는 사람은 거의 없다. 장점 : 예외를 던지는 대신 null을 반환하십시오 (name TryCreate). 이렇게하면 클라이언트 …

4
더 간단하게 서비스를 포장하는 방법
우리는 3 가지 방법 만 필요한 거대한 인터페이스를 제공하는 타사 서비스에 의존합니다. 또한 인터페이스가 자주 변경됩니다 ... 프로젝트의 클래스에서 인터페이스를 포장하기로 결정하고 필요한 메소드 만 공개하기로 결정했습니다. 그러나 반환 값을 어떻게 처리 해야하는지 잘 모르겠습니다 ... 인터페이스는 유형의 객체를 반환합니다 Storage. 우리는 내부적 StorageModel으로 우리의 내부 표현 인 타입 을 …

2
응용 프로그램 서비스 계층 호출 데이터베이스 기능. 나쁜 건축?
대본: 스택 : Java, Spring, Hibernate. 모델 : 클라이언트 서버 응용 프로그램 패턴 : MVC (Model-View-Controller). 서비스 계층 클래스에는 세 가지 동작이 있습니다. 일부 서비스는 메소드 내에 비즈니스 규칙이 있으며 지속성을 애플리케이션에 위임합니다. 처럼: EntityManager.save (entity); 일부 서비스는 단순히 데이터베이스 함수를 호출합니다 (매개 변수 전달). CallableStatement cls = con.prepareCall ( …

4
컴포지션을 통해 인터페이스를 구현하는 클래스에서 상용구 줄이기
나는 수업이 : A작은 클래스의 수의 합성이다 B, C하고 D. B, C및 D인터페이스를 구현 IB, IC및 ID각각. 이후 A의 모든 기능 지원 B, C및 D, A구현 IB, IC그리고 ID뿐만 아니라,하지만 많은이 불행하게도 리드의 구현에 재 라우팅A 이렇게 : interface IB { int Foo {get;} } public class B : IB …

2
.NET MVC 프로젝트 아키텍처 / 계층화
중규모 MVC 웹 응용 프로그램의 아키텍처를 계획 할 때 가능한 한 분리되고 테스트하기 쉬운 계층을 어떻게 구현합니까? (기본적으로 모범 사례를 따르십시오) 먼저 데이터 액세스로 코드를 사용한다고 가정 해 봅시다. "비즈니스 로직"을 정의하는 것과 데이터 계층과 상호 작용하는 방법에 대해 고민합니다. 차량 판매 애플리케이션을 예로 들어, 비즈니스 로직은 주어진 차량에 대한 …

6
SRP를 구현하는 실용적인 방법은 무엇입니까?
클래스가 단일 책임 원칙을 위반하는지 확인하기 위해 사람들이 실제로 사용하는 기술은 무엇입니까? 나는 수업이 바뀌어야 할 이유가 하나 밖에 없다는 것을 알고 있지만, 그 문장에는 실제로 그것을 구현할 실질적인 방법이 부족하다. 내가 찾은 유일한 방법은 ".........해야합니다 ......... 자체" 문장을 사용하는 것입니다. 여기서 첫 번째 공백은 클래스 이름이고 나중에 공백은 메서드 …

4
일부 사용자를위한 기능 숨기기 / 비활성화
무료 및 유료 버전의 앱이 있다고 가정 해 보겠습니다. 유료 버전은 사용자가 사용할 수있는 기능과 관련하여 무료 버전의 상위 세트입니다. 즉, 유료 버전에는 무료 앱의 모든 기능과 추가 기능이 포함됩니다. 시작시로드되는 플래그 (예 : 무료 / 유료)를 기반으로 기능 가용성을 토글하는 패턴이 있습니까? 나는 어디에서나 다음 코드 블록을 갖는 아이디어를 …

1
OOP ECS 및 순수 ECS
먼저,이 질문이 게임 개발 주제와 관련이 있다는 것을 알고 있지만 더 일반적인 소프트웨어 생성 문제로 인해 여기에서 질문하기로 결정했습니다. 지난 한 달 동안 Entity-Component-Systems에 대해 많이 읽었으며 이제는 개념에 매우 익숙합니다. 그러나 명확한 '정의'가 누락 된 것으로 보이는 한 가지 측면이 있으며 다른 기사에서 근본적으로 다른 솔루션을 제안했습니다. 이것은 ECS가 …

4
클래스 복제 패턴?
현재 내 프로젝트에서 솔로 개발자로 일하고 있습니다. 나는 회사를 떠난 다른 개발자로부터 프로젝트를 물려 받았습니다. C #의 모델 뷰 컨트롤러 스타일 웹 응용 프로그램입니다. 객체 관계형 매핑에 Entity Framework를 사용합니다. 도메인 모델에는 유형에 대한 두 가지 다른 클래스 세트가 있습니다. 한 세트는 ORM과의 상호 작용에 사용되며 다른 세트는 MVC 시스템의 …

5
일련의 작업을위한 최고의 OOP 디자인 패턴
응용 프로그램을 개발 중이며 모듈은 다음과 같은 재무 작업을 순차적으로 수행합니다. 사용자가 특정 금액을 은행 계좌로 이체하도록 요청하는 경우 : 지금 거래가 가능한지 확인 하시겠습니까? (거래는 특정 기간에만 수행 할 수 있습니다) 사용자가 인출 할 최소 금액을 요청했는지 확인 사용자에게 기본 계정이 있는지 확인 위의 모든 작업 결과를 기록해야합니다. 위의 …

4
팩토리 패턴과 함께 Dependency Injection을 사용하는 방법
주어진 유형의 파일을 구문 분석하는 모듈을 고려하십시오. 이미 이상 설명대로 나는이 문제를 해결하기 위해 전략 패턴을 사용하여 생각하고 여기에 . 이 질문을 진행하기 전에 링크 된 게시물을 참조하십시오. product.xml 파일의 내용이 필요한 클래스 B를 고려하십시오. 이 클래스는 XML 파일을 구문 분석하기 위해 구문 분석기 인터페이스의 적절한 구체적 구현자를 인스턴스화해야합니다. 클래스 …

1
Brendan Eich가 인용 한 Peter Norvig의 논문
저는 직장에서 코더를 읽고 있으며 Brendan Eich는 Norvig가 Harlequin에있을 때부터 "디자인 패턴이 실제로 프로그래밍 언어의 결함에 관한 것"에 관한 논문을 인용했습니다. 누구든지이 논문에 대한 링크를 제공 할 수 있습니까?

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