«design-patterns» 태그된 질문

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

2
MVCS-모델 뷰 컨트롤러 저장소
나는 최근에 iOS 개발을 배우기로 결정했으며,이를 위해 iOS 프로그래밍 : The Big Nerd Ranch Guide를 읽고 있습니다. 이 책에서 저자는 MVCS-Model-View-Controller-Store 디자인 패턴을 설명합니다 . 기본 아이디어는 많은 응용 프로그램이 컨트롤러의 요청 논리를 유지하면서 여러 외부 데이터 소스를 사용하기 때문에 저자 대신 매우 지저분해질 수 있다는 것입니다. 모든 요청 로직을 …


2
ASP.NET MVC에서 데이터 액세스 분리
MVC의 첫 번째 실제 균열로 업계 표준 및 모범 사례를 따르고 싶습니다. 이 경우 C #을 사용하는 ASP.NET MVC입니다. 코드 우선 개체 (데이터베이스가 이미 존재 함)와 함께 모델에 Entity Framework 4.1을 사용하므로 데이터베이스에서 데이터를 검색하기위한 DBContext 개체가 있습니다. asp.net 웹 사이트에서 살펴본 데모에서 컨트롤러에는 데이터 액세스 코드가 있습니다. 이것은 특히 …

3
비즈니스 계층에서의 캐싱과 데이터 계층에서의 캐싱
나는 항상 DAL에서 캐싱이 수행 된 프로젝트에서 일해 왔습니다. 기본적으로 데이터베이스를 호출하려고 할 때 데이터가 이미 캐시에 있는지 확인하고 있으면 캐시를 호출하지 않습니다. 대신 해당 데이터를 반환합니다. 최근에 비즈니스 계층에서 캐싱에 대해 읽었으므로 기본적으로 전체 비즈니스 개체를 캐싱합니다. 내가 곧바로 볼 수있는 한 가지 장점은 훨씬 더 나은 응답 시간입니다. …


2
확장 성이 뛰어난 클래스에서 사용하기에 Bloch의 빌더 패턴을 개선하는 방법
나는 Joshua Bloch의 Effective Java book (2 판)에 크게 영향을 받았으며 아마도 내가 읽은 프로그래밍 책보다 더 많은 영향을 미쳤을 것입니다. 특히 그의 빌더 패턴 (항목 2)이 가장 큰 영향을 미쳤습니다. Bloch의 빌더가 지난 10 년 동안의 프로그래밍보다 몇 달 더 멀어 졌음에도 불구하고 여전히 같은 벽에 부딪 히고 있습니다. …

6
할인 모델에 적용 할 디자인 패턴이 있습니까?
할인 모델을 구현하기위한 알려진 디자인 패턴이 있습니까? 할인 모델의 의미는 다음과 같습니다. 고객이 제품 X, 제품 Y 및 제품 Z를 구매하면 10 % 또는 $ 100의 할인을받습니다. 고객이 Product X 100 유닛을 구매하면 15 % 또는 $ 500의 할인을받습니다. 고객이 작년에 $ 100K 이상을 가져 오면 20 % 할인을받습니다 고객이 …

4
Model-View-Presenter 구현 생각
UI와 모델간에 좋은 디커플링을 구현하는 방법에 대해 잘 이해하려고 노력하고 있지만 정확하게 줄을 나눌 위치를 알아내는 데 어려움을 겪고 있습니다. Model-View-Presenter를 살펴 봤지만 구현 방법을 정확히 모릅니다. 예를 들어, 내보기에는 여러 개의 대화 상자가 있습니다. 각 대화 상자의 인스턴스가있는 View 클래스가 있어야합니까? 그렇다면이 대화 상자가 발표자와 어떻게 상호 작용해야합니까? 즉. …

12
컨테이너에 일반 객체를 저장 한 다음 객체를 가져와 컨테이너에서 다운 캐스트하는 것이 코드 냄새입니까?
예를 들어, 플레이어의 능력을 향상시키는 몇 가지 도구가있는 게임이 있습니다. Tool.h class Tool{ public: std::string name; }; 그리고 몇몇 도구들 : Sword.h class Sword : public Tool{ public: Sword(){ this->name="Sword"; } int attack; }; Shield.h class Shield : public Tool{ public: Shield(){ this->name="Shield"; } int defense; }; MagicCloth.h class MagicCloth …

8
수업이 단일 책임 원칙을 충족하는지 확인하는 방법은 무엇입니까?
단일 책임 원칙은 높은 응집력 원칙을 기반으로합니다. 이 둘의 차이점은 높은 응집력을 가진 클래스는 밀접하게 관련된 일련의 책임을 특징으로하며 SRP를 준수하는 클래스는 하나의 책임 만 갖습니다. 그러나 특정 클래스가 일련의 책임을 지니고 있고 그에 따라 매우 응집력이 있는지 아니면 하나의 책임 만 가지고 SRP를 준수하는지 여부를 어떻게 결정합니까? 다시 말해서, …


2
어댑터 패턴과 프록시 패턴의 차이점은 무엇입니까?
이해하는 한, 어댑터 패턴 은 우리의 실제 관심 객체에 대한 래퍼 객체를 작성하는데, 이는 한 단계 더 간접적 인 수준으로 유연성을 제공합니다. 유연성은 실제 객체의 인터페이스가 변경되면 실제 객체를 가리키는 래퍼 인터페이스를 변경하여 클라이언트 측 노출 인터페이스를 변경하지 않는다는 점입니다. 프록시 패턴은 모든 프록시 래퍼는 실제 개체의 기능의 일관된 부분 …

11
디자인 패턴은 일반적으로 좋은지 나쁜지? [닫은]
얇게 썬 빵 이후 디자인 패턴이 가장 좋다고 주장하는 것을 들었습니다. 또한 디자인 패턴이 "두 번째 시스템 증후군"을 악화시키는 경향이 있고, 지나치게 과도하게 사용되며, 사용자가 실제보다 더 나은 디자이너라고 생각하게 만드는 것으로 들었습니다. 나는 이전 캠프에 가까워지는 경향이 있지만 최근에는 거의 모든 단일 상호 작용이 관찰자 관계로 대체되고 모든 것이 …

6
프로그레시브 향상 vs. 단일 페이지 앱
방금 보스턴에서 열린 컨퍼런스에서 An Event Apart 라고했습니다 . 연사들 사이에서 가장 인기있는 주제는 점진적 향상 이라는 아이디어였습니다 . 사이트의 콘텐츠는 HTML로 이동해야하며 JavaScript는 행동을 향상시키는 데만 사용해야합니다. 화자들이 점진적으로 향상시키기위한 주장은 매우 설득력이있었습니다. 구형 브라우저와 대역폭이 낮은 네트워크의 장치를 지원하기위한 견고한 패턴 일뿐만 아니라 HTML은 JavaScript보다 훨씬 우아하게 실패합니다 …

7
실수로 중복되는 코드를 방지하려면 어떻게해야합니까?
나는 다소 큰 코드 기반으로 작업합니다. 수백 개의 클래스, 수많은 다른 파일, 많은 기능, 새로운 사본을 풀다운하는 데 15 분 이상이 소요됩니다. 이러한 큰 코드 기반의 큰 문제는 상당히 많은 유틸리티 메소드가 있고 동일한 기능을 수행하거나 가능한 경우 이러한 유틸리티 메소드를 사용하지 않는 코드가 있다는 것입니다. 또한 유틸리티 메소드는 모두 …

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