«design-patterns» 태그된 질문

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

3
C ++에서 동일한 목적으로 인터페이스를 사용할 수있는 반면 PImpl 패턴의 요점은 무엇입니까?
C ++에서 PImpl 관용구를 사용하는 많은 소스 코드가 보입니다. 개인 데이터 / 유형 / 구현을 숨기고 의존성을 제거한 다음 컴파일 시간과 헤더 포함 문제를 줄이는 것이 목적이라고 가정합니다. 그러나 C ++의 인터페이스 / 순수한 클래스에도이 기능이 있으며 데이터 / 유형 / 구현을 숨길 수 있습니다. 그리고 객체를 생성 할 때 …

11
디자인 패턴에 대한 표준 책이 있습니까? [닫은]
디자인 패턴 학습에 관심이 있으며이 주제를 학습 할 때 최상위 계층 책으로 간주되는 내용을 알고 싶습니다. 모범 사례, 디자인 방법론 및 기타 디자인 패턴에 대한 유용한 정보를 설명하기위한 사실상의 표준이있는 책이 있습니까? 그 책은 어떻습니까?

7
체인 세터가 왜 전통적인가?
Bean에 체인을 구현하면 생성자, 메가 생성자, 팩토리를 오버로드 할 필요가없고 가독성이 향상됩니다. 객체를 불변으로 만들고 싶지 않다면 어떤 단점도 생각할 수 없습니다 .이 경우 어쨌든 setter가 없습니다. 그렇다면 이것이 OOP 규칙이 아닌 이유가 있습니까? public class DTO { private String foo; private String bar; public String getFoo() { return foo; …

5
빌더 패턴 : 실패시기
빌더 패턴을 구현할 때, 나는 종종 건물이 실패하게 할 때 혼란스러워하며 며칠마다 문제에 대해 다른 입장을 취할 수도 있습니다. 먼저 몇 가지 설명 : 으로 초기 실패 나 잘못된 매개 변수가 전달 될 때 객체를 구축하는 것은 곧 실패 할 것을 의미한다. 그래서 내부 SomeObjectBuilder. 늦게 실패 하면 빌드 할 …

4
예외 전파 : 언제 예외를 포착해야합니까?
MethodA는 MethodB를 호출하여 MethodC를 호출합니다. MethodB 또는 MethodC에는 예외 처리가 없습니다. 그러나 MethodA에는 예외 처리가 있습니다. MethodC에서는 예외가 발생합니다. 이제 예외는 MethodA까지 버블 링되어 적절하게 처리됩니다. 이것에 무슨 문제가 있습니까? 내 마음에, 어떤 시점에서 호출자는 MethodB 또는 MethodC를 실행할 것이고, 그 메소드에서 예외가 발생하면 해당 메소드 내에서 예외를 처리하여 얻을 …

11
오류 변수는 안티 패턴 또는 좋은 디자인입니까?
실행을 중단해서는 안되는 몇 가지 가능한 오류를 처리하기 위해 error클라이언트가 확인하고 예외를 throw하는 데 사용할 수 있는 변수가 있습니다. 안티 패턴입니까? 이것을 처리하는 더 좋은 방법이 있습니까? 이에 대한 예제는 PHP의 mysqli API를 볼 수 있습니다 . 가시성 문제 (접근 자, 공용 및 개인 범위, 클래스 또는 전역 변수)가 올바르게 …

2
NaN 복싱의 목적은 무엇입니까?
21 세기 C를 읽으 면서 나는 6 장 "NaN을 사용하여 예외적 인 숫자 값 표시" 섹션에 도착했습니다 . 여기에서 가수의 비트를 사용하여 임의의 비트 패턴을 저장하고이를 마커 또는 포인터로 사용하는 방법에 대해 설명합니다 (도서 언급) WebKit은이 기술을 사용합니다). 나는이 기술의 유용성을 이해하지 못했다. 나는 해킹 (NaN의 가수 가치에 신경 쓰지 …

13
디자인 패턴-사용합니까?
저는 IT 학생이기 때문에 최근 교사 중 한 명이 디자인 패턴에 대한 개요를 받았습니다. 나는 그들이 무엇인지 이해했지만 일부 측면은 여전히 ​​나를 계속 괴롭 힙니다. 대부분의 프로그래머가 실제로 사용합니까? 경험에 대해 말하면, 프로그래밍하는 동안 문제가 있었고 한동안 해결할 수 없었지만 Google과 몇 시간의 연구로 문제가 해결되었습니다. 웹 어딘가에서 내 문제를 …

5
MVC의 몰락은 무엇입니까? [닫은]
몇 년 전에 코드를 실제로 구성하기 시작한 이래로 MVC / MV *를 사용해 왔습니다. 나는 그것을 오랫동안 사용하여 코드를 구성하는 다른 방법을 생각조차 할 수 없었으며 인턴이 된 후의 모든 작업은 MVC 기반이었습니다. 내 질문은 MVC의 몰락은 무엇입니까? 어떤 경우에 MVC가 프로젝트에 나쁜 선택이되고 어떤 것이 더 올바른 선택이됩니까? MVC …

3
서비스 대신 컨트롤러 호출 저장소를 사용하는 것은 나쁜 습관입니까?
서비스 대신 컨트롤러 호출 저장소를 사용하는 것은 나쁜 습관입니까? 더 설명하기 위해 : 좋은 디자인 컨트롤러에서는 서비스 및 서비스 사용 저장소를 호출한다는 것을 알았습니다. 그러나 때로는 컨트롤러에서 논리가 필요하지 않고 db에서 가져 와서보기 위해 전달해야합니다. 그리고 서비스를 호출 할 필요없이 저장소를 호출하면됩니다. 나쁜 습관입니까?

2
기존 REST API 대신 SignalR (웹 소켓)을 사용하지 않는 유일한 이유는 성능입니까?
내가 사용했던 SignalR내 프로젝트의 여러 실시간 메시징 기능을 달성하기 위해. 안정적으로 작동하는 것 같고 사용법을 익히기가 매우 쉽습니다. 적어도 나에게 유혹은 웹 API 서비스 개발을 포기하고 SignalR모든 것에 사용 하는 것입니다. 나는 이것이 신중한 디자인으로 달성 될 수 있다고 생각하며, 그렇다면 클라이언트 코드가 훨씬 적게 필요하다는 것을 의미합니다. 더 중요한 …

7
옵저버 패턴을 사용하는 것보다 이벤트 폴링이 더 나은 경우는 언제입니까?
옵저버 패턴을 사용하는 것보다 이벤트 폴링이 더 나은 시나리오가 있습니까? 폴링 사용에 대한 두려움이 있으며 누군가 나에게 좋은 시나리오를 제공 한 경우에만 사용하기 시작합니다. 내가 생각할 수있는 것은 관찰자 패턴이 폴링보다 나은 방법입니다. 이 시나리오를 고려하십시오. 자동차 시뮬레이터를 프로그래밍하고 있습니다. 차는 물건이다. 자동차가 켜지 자마자 "vroom vroom"사운드 클립을 재생하려고합니다. 이를 …

3
도우미 란 무엇입니까? 디자인 패턴입니까? 알고리즘입니까?
어쩌면 약간의 혀가 있지만 Google을 통해 어디서나이 답변을 찾을 수 없으므로 Software Engineering이 답을 얻도록하십시오. 도우미 란 무엇입니까? 의미가 깊고 의미있는 것처럼 모든 곳에서 사용되는 이름 (모듈 이름, 클래스 이름, 메서드 이름)을 보았지만 컴퓨터 과학의 맥락에서 (도는 없지만) 어떤 곳에서도 설명이나 정의를 보지 못했습니다! 디자인 패턴입니까? 알고리즘입니까? 한 번 모듈과 …

1
팩토리 패턴과 추상 팩토리의 차이점은 무엇입니까?
마침내 몇 가지 기본 패턴을 배우려고 진지하게 노력하기 시작했습니다 (직종에 늦었지만 이야기는 다릅니다). 나는 팩토리 패턴과 추상 팩토리의 차이점에 대해 고심하려고 노력하고 있습니다. 이 두 패턴의 주요 차이점은 무엇입니까? Factory Method는 상속을 통해 객체를 생성하고 Abstract Factory는 객체 구성을 통해 객체를 생성하지만 실제로는 각각의 작동 방식을 정확하게 시각화하는 데 문제가 …

6
Java 상속“확장”을 피해야하는 이유
제임 고슬링은 말했다 "가능한 경우 구현 상속을 피해야합니다." 대신 인터페이스 상속을 사용하십시오. 그런데 왜? 키워드 "extends"를 사용하여 객체의 구조를 상속받지 않고 동시에 객체 지향 코드를 만들려면 어떻게해야합니까? 누군가 "서점에서 책을 주문"과 같은 시나리오에서이 개념을 설명하는 객체 지향 예제를 제시해 주시겠습니까?

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