«design-patterns» 태그된 질문

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

11
얼마나 많은 디자인 패턴과 추상화 수준이 필요합니까? [닫은]
소프트웨어에 추상화가 너무 많고 디자인 패턴이 너무 많거나 더 많은 패턴이 있는지 어떻게 알 수 있습니까? 내가 일하는 개발자는 이러한 점에 대해 다르게 프로그래밍하고 있습니다. 일부는 모든 작은 기능을 추상화하고 가능하면 디자인 패턴을 사용하며 어떠한 비용으로도 중복성을 피합니다. 저를 포함한 다른 사람들은 더 실용적으로 노력하고 모든 디자인 패턴에 완벽하게 맞지 …

4
C # 6.0의 새로운 Null 조건부 연산자는 Demeter of Laws에 적용됩니까?
데메테르 의 법칙은 다음과 같이 말합니다. 각 장치에는 다른 장치에 대한 정보가 제한적이어야합니다. 현재 장치와 "가까운"장치 만 있습니다. 각 부대는 친구들과 만 대화해야합니다. 낯선 사람과 이야기하지 마십시오. 가까운 친구와 만 대화하십시오. C # 6.0은 null 조건부 연산자 라는 새로운 연산자를 도입했습니다 . IMHO, 코딩이 쉬워지고 가독성이 향상됩니다. 그러나 클래스 필드를 …

8
코드와 데이터 분리는 어떻게 실습이 되었습니까?
질문을주의 깊게 읽어 보시기 바랍니다 :이 요청 하는 방법 이 아닌 이유 . 최근 에이 답변 을 보았습니다. 데이터베이스를 사용하여 변경 불가능한 데이터를 저장하는 것이 좋습니다. 그것은 당신이 묘사하는 많은 마법의 숫자, 특히 부분적으로 의존적 인 경우 실제로 코드가 아닌 데이터라고 생각합니다. [...] SQL 유형 데이터베이스를 의미하거나 단순히 형식화 된 …

6
특정 기능을 함수로 추출해야하는 이유는 무엇입니까?
3 가지 작업을 수행하는 큰 방법이 있습니다. 각 방법을 별도의 기능으로 추출 할 수 있습니다. 각 작업에 대해 추가 기능을 만들면 코드가 더 나아지거나 왜 그럴까요? 분명히, 그것은 주 함수에서 적은 코드 줄을 만들 것이지만, 추가 함수 선언이있을 것이므로 클래스에는 클래스가 더 복잡해질 것이기 때문에 좋지 않다고 생각되는 추가 메소드가 …


6
플래그를 확인할 필요가없는 디자인 패턴이 있습니까?
데이터베이스에 문자열 페이로드를 저장하겠습니다. 두 가지 전역 구성이 있습니다. 암호화 압축 이들 중 하나만 활성화되거나 둘 다 활성화되거나 비활성화되는 방식으로 구성을 사용하여 활성화 또는 비활성화 할 수 있습니다. 내 현재 구현은 다음과 같습니다. if (encryptionEnable && !compressEnable) { encrypt(data); } else if (!encryptionEnable && compressEnable) { compress(data); } else if …

14
클래스 계층 구조에서 객체 동작 또는 속성의 * 제거 *를 허용하는 언어 또는 디자인 패턴이 있습니까?
전통적인 클래스 계층 구조의 잘 알려진 단점은 실제 세계를 모델링 할 때 나쁘다는 것입니다. 예를 들어, 클래스로 동물의 종을 표현하려고합니다. 실제로 그렇게 할 때 몇 가지 문제가 있지만 해결책을 찾지 못한 것은 하위 클래스가 펭귄이 날 수없는 것처럼 수퍼 클래스에 정의 된 동작이나 속성을 "손실"할 때입니다. 아마도 더 좋은 예 …

12
최악 또는 가장 좁게 정의 된 디자인 패턴은 무엇입니까? [닫은]
모든 프로그래밍 프로젝트에서 과거 프로그래밍 경험이있는 관리자는 프로젝트의 일부 디자인 패턴을 추천 할 때 빛을 발합니다. 디자인 패턴이 의미가 있거나 확장 가능한 솔루션이 필요한 경우 디자인 패턴이 마음에 듭니다. 예를 들어 프록시, 관찰자 ​​및 명령 패턴을 긍정적 인 방식으로 사용했으며 매일 그렇게합니다. 그러나 팩토리가 나중에 객체를 더 쉽게 만들 수 …

4
구현 클래스에서 디자인 패턴 이름을 사용하는 것이 좋은 생각입니까? [닫은]
최근에 나는 많은 적당히 큰 파이썬 코드베이스를 가로 질러왔다 MyClassAbstractFactory, MyClassManager, MyClassProxy, MyClassAdapter등의 클래스. 한편으로 그 이름을 연구하고 대응하는 패턴을 배우고 나를 지적하는 동안, 그들은 클래스가 무엇 매우 설명하지 않았다 않습니다 . 또한, 그들은 단어의 금지 목록에 속하는 것 같다 프로그래밍 : variable, process_available_information, data, amount, compute: 지나치게 광범위한 이름은 …

2
역할 기반 REST API?
다른 역할을 가진 여러 사용자가 포함 된 리소스에 액세스 할 수있는 REST API를 만들고 있습니다. 범위를 단순하게 유지하기 위해 "학생 / 교사 / 클래스"도메인을 살펴 보겠습니다. GET /students 액세스 할 수있는 리소스입니다. 사용자는 학생 및 / 또는 교사와 같은 역할을 할 수 있습니다 학생들은 자신의 수업 학생 만 이용할 수 …

4
중재자 대 관찰자?
누군가 a와 a의 차이점에 대한 정식 답변 Observer과 Mediator한 패턴을 다른 패턴보다 사용해야하는 시점에 대한 요약을 제공 할 수 있습니까? 어떤 종류의 상황이 필요한지, 어떤 종류의 상황이 필요한지 잘 모르겠습니다 Observer.Mediator

5
NInject를 사용하여 팩토리를 구축하는 가장 좋은 방법은 무엇입니까?
MVC3에서 NInject를 사용하여 의존성 주입에 익숙합니다. MVC3 응용 프로그램에서 작업하는 동안 NInject를 사용하여 사용자 지정 Controller Creation Factory를 개발 했으므로 생성 된 모든 컨트롤러에는이 Controller Factory를 통해 종속성이 주입됩니다. 이제 Windows 응용 프로그램을 개발하기 시작했습니다. 응용 프로그램 전체 종속성 주입을 사용하고 싶습니다. 즉, 단위 테스트를 용이하게하기 위해 모든 개체는 NInject를 …

2
DDD-집계 루트 저장소가 집계 저장을 처리합니까?
기존 응용 프로그램의 그린 필드 모듈에 DDD와 유사한 접근 방식을 사용하고 있습니다. 아키텍처로 인해 100 % DDD는 아니지만 일부 DDD 개념을 사용하려고합니다. 나는 경계 컨텍스트 (I 그 적절한 용어라고 생각 - 난 아직도 DDD에 대해 배우고)가 두 엔티티 구성을 : Conversation와 Message. 대화가없는 메시지는 존재하지 않으며 시스템의 모든 메시지는 대화의 …

9
싱글 톤 패턴의 대안
싱글 톤 패턴에 대한 다른 의견을 읽었습니다. 어떤 사람들은 모든 비용으로 피해야하고 어떤 상황에서는 유용 할 수 있다고 유지합니다. 단일 클래스를 사용하는 한 가지 상황은 특정 클래스 A의 객체를 만들기 위해 팩토리 (F 유형의 객체 f라고 가정 함)가 필요한 경우입니다. 팩토리는 일부 구성 매개 변수를 사용하여 한 번 생성 된 …


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