«design-patterns» 태그된 질문

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

6
전략 패턴의 장점
if / thecase에서 코드를 작성할 수 있다면 전략 패턴을 사용하는 것이 왜 유리합니까? 예를 들어 : TaxPayer 클래스가 있고 해당 메소드 중 하나가 다른 알고리즘을 사용하여 세금을 계산합니다. 그렇다면 전략 패턴을 사용하는 대신 if / thecase를 사용하여 해당 방법에 어떤 알고리즘을 사용해야하는지 파악할 수없는 이유는 무엇입니까? 또한 TaxPayer 클래스의 각 …

5
그렇지 않은 경우-반복 코드 논리
상사는 나에게 특정한 논리를 가진 프로젝트를 주었다. 제품에 도착할 때까지 네비게이터를 이끌어야하는 웹 페이지를 개발해야합니다. 이것은 사이트 내 탐색 경로 체계입니다. 중대한! 제품 페이지에서 네비게이터는 원하는 필터를 선택할 수 있습니다. A 인 경우 반드시 B (물론 C) 또는 C를 거쳐 제품에 도달해야합니다. B 인 경우 반드시 C를 거쳐 제품에 도달해야합니다. …

1
JavaScript에서 프로토 타입 프로그래밍을 사용하는 경우
나는 다음과 같은 방법으로 프로젝트를위한 간단한 위젯을 개발하는 데 많은 시간을 보냈습니다. var project = project || {}; (function() { project.elements = { prop1: val1, prop2: val2 } project.method1 = function(val) { // Do this } project.method2 = function(val) { // Do that } project.init = function() { project.method1(project.elements.prop1) project.method2(project.elements.prop2) …

4
일류 함수가 전략 패턴을 대체합니까?
전략 디자인 패턴은 종종 부족 언어로 일류 기능을위한 대용품으로 간주됩니다. 예를 들어 기능을 객체에 전달하고 싶다고 가정 해보십시오. Java에서는 원하는 동작을 캡슐화하는 다른 객체를 객체에 전달해야합니다. Ruby와 같은 언어에서는 기능 자체를 익명 함수 형태로 전달하면됩니다. 그러나 나는 그것에 대해 생각하고 있었고 전략은 단순한 익명의 기능보다 더 많은 것을 제공하기로 결정했습니다. …

3
왜 Android Fragments를 사용합니까?
나는 이 주제에 관한 문서와 다른 질문의 스레드를 읽었 으며 실제로 확신하지 않습니다. 이 기술의 사용 한계가 명확하게 보이지 않습니다. 조각은 이제 모범 사례 로 간주됩니다 . 모든 활동은 기본적으로 하나 이상의 조각을 지원해야하며 레이아웃을 직접 호출하지 않아야합니다. 단편은 다음을 위해 작성됩니다. (가) 허용 Activity이 장치를 재사용, 그들 사이에서 변경할 …

4
런타임에 클래스에 필드 추가-디자인 패턴
고객이 CMS의 eshop에서 제품에 새로운 속성 (예 : 색상)을 추가 할 수 있기를 원한다고 상상해보십시오. 속성을 필드로 사용하는 대신 : class Car extends Product { protected String type; protected int seats; } 아마 다음과 같은 일을 끝내게 될 것입니다. class Product { protected String productName; protected Map<String, Property> properties; } …

4
성공 또는 실패가 유일한 관심사 일 때 부울 리턴
한 곳에서 해당 방법에 대한 모든 논리를 포함하기 위해 여러 위치에서 사용되는 메서드에서 부울을 반환하는 경우가 종종 있습니다. 알아야 할 모든 (내부) 호출 방법은 작업의 성공 여부입니다. 나는 파이썬을 사용하고 있지만 질문은 반드시 해당 언어에만 국한되는 것은 아닙니다. 내가 생각할 수있는 두 가지 옵션 만 있습니다 상황이 예외적이지는 않지만 예외를 …

2
생성자 대신 팩토리 메소드를 사용해야했습니다. 변경할 수 있고 여전히 이전 버전과 호환됩니까?
문제 파일 에서 데이터를 읽는 방법 DataSource을 제공 하는 클래스를 가지고 있다고 가정 해 봅시다 .ReadData.mdb var source = new DataSource("myFile.mdb"); var data = source.ReadData(); 몇 년 후, 나는 .xml파일 외에도 .mdb데이터 소스 로 파일 을 지원할 수 있기를 원합니다 . "데이터 읽기"구현은 파일 .xml과 .mdb파일 마다 상당히 다릅니다 . …

5
메소드에서 여러 개의 리턴 값을 리턴하는 방법 : 리턴 값을 나타내는 클래스 안에 메소드를 넣으십시오. 좋은 디자인입니까?
메소드에서 2 개의 값을 반환해야합니다. 내 접근 방식은 다음과 같습니다. 이 두 값을 유지하는 데 사용될 두 개의 필드로 내부 클래스를 만듭니다. 그 클래스 안에 메소드를 넣다 클래스를 인스턴스화하고 메소드를 호출하십시오. 메소드에서 변경 될 유일한 것은 결국 2 개의 값을 인스턴스의 필드에 지정한다는 것입니다. 그런 다음 해당 객체의 필드를 참조하여 …

8
웹용 MVC를 제외한 디자인 패턴이 있습니까?
MVC 외에도 웹 디자인 패턴이 무엇인지 알고 싶습니다. Registry, Observer, Factory, ActiveRecord, ... 및 MVC와 같은 디자인 패턴이 다른 디자인 패턴 및 폴더 구조 세트라는 것을 알고 있습니다. MVC와 같은 디자인 패턴은 다른 디자인 패턴의 집합입니까? 편집 : 내 프로그래밍 언어는 PHP입니다.

4
MVC에서 여러 뷰에 동일한 컨트롤러가 있거나 하나의 뷰에 고유 한 컨트롤러가 있어야합니까?
MVC 관련 프로젝트의 아키텍처를 디자인하는 동안 몇 가지 질문이 있습니다. (이것은 C ++ / Marmalade SDK 프로젝트이며 특정 MVC 프레임 워크를 사용하지 않고 있습니다.) 여러 기사 ( 원래 Steve Burbek 기사 에서와 같이 )에서 나는이 개념을 문자 그대로 받아 들인 이래로 "MVC triad"라는 개념을 계속 읽습니다. 처음 읽었을 때 응용 …

2
별도의 작성 및 편집 조치를 사용하거나 작성 및 편집을 하나로 결합하는 것이 더 낫습니까?
우리는 비즈니스 로직 계층, 데이터 액세스 계층으로 구성된 컨트롤러 / 뷰 프리젠 테이션 계층 및 모델과 함께 ASP.NET MVC 2를 사용하고 있습니다. 비즈니스 계층 이상에서 대부분의 목적으로 Edit는 개체 생성과 개체 편집을 모두 나타낼 수있는 것으로 보입니다. 이는 "저장"방법을 정의하는 리포지토리 디자인 패턴과 잘 일치합니다. ID가 0이면 저장 프로 시저를 …

2
현대 컴파일러에서 제네릭은 어떻게 구현됩니까?
여기서 의미하는 바는 일부 템플릿 T add(T a, T b) ...에서 생성 된 코드로 어떻게 이동합니까? 나는 이것을 달성 할 수있는 몇 가지 방법을 생각했다. 우리는 일반 함수를 AST에 저장 Function_Node한 다음 그것을 사용할 때마다 원래 함수 노드에 자체 유형의 사본으로 저장된 모든 유형의 사본을 원래 함수 노드에 저장 T한다. …

2
저장소는 실제로 무엇을해야합니까?
많은 리포지토리 패턴을 들었지만 리포지토리가 실제로 무엇을 해야하는지 이해하지 못했습니다. "리포지토리가 실제로 무엇을해야하는지"라고 말할 때 주로 어떤 방법을 제공해야하는지에 관심이 있습니다. 예를 들어, 저장소가 실제로 CRUD 메소드를 제공해야합니까, 아니면 다른 종류의 메소드를 제공해야합니까? 즉, 리포지토리에 비즈니스 로직이 포함되어야합니까, 아니면 단순히 데이터 저장소와 통신하고 저장 또는로드 할 엔터티를 관리하는 로직이 포함되어야합니까? …

2
엔터티 또는 비즈니스 계층에 계산 논리를 넣어야합니까?
최근에 간단한 계산을 엔터티 계층에 배치해야하는지 아니면 원시 데이터를 저장하고 계산 논리를 비즈니스 계층에 그대로두기 위해 엔터티가 순수해야하는지에 대한 질문에 직면했습니다. 내 질문은 엔티티 클래스의 속성에서 간단한 계산을 캡슐화하는 것이 합리적인지 여부입니다.

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