«patterns-and-practices» 태그된 질문

소프트웨어 엔지니어링의 디자인 패턴 (일반적으로 발생하는 문제에 대한 반복 가능한 솔루션) 및 모범 사례

2
RESTful API가 파일 또는 위치 만 리턴 할 수 있어야합니다.
이것은 잠시 동안 나를 수수께끼로 만들었습니다. 예를 들어, 시스템에 기본 컨텐츠를 제공하고 JSON을 소비 및 생성하는 REST API가 있습니다. 이 엔드 포인트에서 그림 및 설명에 대한 URL을 생성하며 다음과 같이 찾을 수 있습니다. // localhost / myApi / pictures / 1 { id: 1, description: "This is a pretty picture …

5
데이터베이스 연결-매개 변수로 전달되어야합니까?
우리는 공통 메소드를 사용하여 데이터베이스 연결을 한 번 가져오고 사용할 관련 클래스를 통해 전달하는 시스템을 가지고 있습니다. 데이터베이스 연결을 매개 변수로 다른 클래스에 전달하면 문제가 발생할 것이라는 의심이 있습니다. 실제로 이것이 가능한지 여부를 확인하고 더 나은 패턴이 있습니까? 지속성을 수행하는 ORM 도구가 있다는 것을 알고 있지만 아직 그럴 수는 없습니다. …

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

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 …

1
의존성 버전 충돌을 피 하시겠습니까?
내 항아리를 사용하는 모든 Java 프로젝트는 거의 확실하게 다른 항아리에 대한 추가 종속성을 가지고 있으며 내 항아리에는 종속성으로도 포함됩니다. 문제는 다른 jar에 여러 버전이 있다는 것입니다. 프로젝트의 두 번째 항아리 버전이 내 항아리의 두 번째 항아리 버전과 다른 경우 발생할 수있는 문제를 어떻게 피할 수 있습니까? 사용자가 항아리를 추가하기 위해 …

4
내가 작성한 모든 클래스가 인터페이스를 준수해야합니까?
저는 Typescript로 게임을 작성하고 있으며 " 인터페이스 기반 프로그래밍 " 이라는 아이디어를 고수하기로 결정했습니다 . 여기서는 인터페이스 대신 구현, 객체의 인터페이스를 기반으로 코드를 작성합니다. 나는 많은 수의 인터페이스와 인터페이스를 구현 한 클래스를 작성하고 한 걸음 물러서서 클래스가 단순하여 구현을 변경할 필요가 없을 정도로 간단하다는 것을 깨달았습니다. 수업은 ( Phaser.Sprite탱크처럼 행동하기 …

2
저장소 패턴이있는 TDD
새 프로젝트에서 TDD로 시도하기로 결정했습니다. 그리고 처음에는 문제가 발생했습니다. 응용 프로그램에서 가장 먼저해야 할 일은 데이터 소스에서 데이터를 읽는 기능을 제공하는 것입니다. 이를 위해 리포지토리 패턴을 사용하고 싶습니다. 그리고 지금: 테스트가 저장소 인터페이스의 실제 구현을위한 것이라면 데이터베이스에 액세스 할 수있는 클래스를 테스트 할 것이므로 피해야한다는 것을 알고 있습니다. 테스트가 리포지토리 …

5
여러 내보내기 유형을위한 견고한 아키텍처를 설계하십니까?
디자인중인 다음 기능에 대한 패턴 또는 아키텍처 지침을 찾고 있습니다. 기본적으로 여러 내보내기 대상이있는 내보내기 기능이며 새 내보내기 대상을 연결하는 데 많은 핵심 변경이 필요하지 않은 경우 일반화 할 수있는 방법을 찾고 있습니다. 내보내기 대상을 사용하면 PDF, PowerPoint 프레젠테이션, Word 문서, RSS 등 다양한 유형의 출력을 간단히 언급하고 있습니다. JSON …

8
데이터베이스에서 잘못된 널 항목을 방지하기위한 설계 및 실습
내 프로그램의 한 부분은 처리를 위해 데이터베이스의 많은 테이블과 열에서 데이터를 가져옵니다. 일부 열은 null이지만 현재 처리 컨텍스트에서 오류 일 수 있습니다. 이것은 "이론적으로"일어나지 않아야하는데, 그렇게된다면 그것이 나쁜 데이터 나 코드의 버그를 가리 킵니다. 어떤 필드가 어떤지에 따라 오류의 심각도가 다릅니다 null. 즉, 일부 필드의 경우 처리를 중지하고 누군가에게 통지해야합니다. …

8
'최적화 코드'== '구조화 데이터'는 언제입니까?
ycombinator의 최근 기사 에는 훌륭한 프로그래머의 원칙이 담긴 의견이 나와 있습니다. #7. 좋은 프로그래머 : 코드를 최적화합니다. 더 나은 프로그래머 : 나는 데이터를 구조화한다. 최고의 프로그래머 : 차이점은 무엇입니까? 주관적이고 논쟁적인 개념을 인정하는 사람-이것이 무엇을 의미하는지에 대한 입장이 있습니까? 나는하지만 나중에 대답을 소홀히하지 않기 위해 내 생각 으로이 질문을 편집하고 …
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.