«design-patterns» 태그된 질문

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

2
패키지 (gems, eggs 등)를 사용하여 분리 된 아키텍처 생성
주요 이슈 가장 현대적인 프로그래밍 플랫폼은 패키지 관리 (생각에 대해 가지고있는 좋은 지원보고 gem, npm, pip그래서 촉진과 느슨하게 결합 된 아키텍처를 만드는 등, 내부적으로 개발 된 패키지로 구성 할 응용 프로그램이나 시스템을 설계하는 의미가 않습니다, 등)? 예 이에 대한 예는 인증 및 시스템의 다른 구성 요소뿐만 아니라 데이터베이스 액세스를위한 패키지를 …

4
느슨하게 결합 된 디자인을 만드는 데 얼마나 많은 노력을 기울여야합니까?
현재 디자인 패턴에 대해 배우고 있습니다. 대부분의 사람들은 이러한 패턴이 훌륭한 도구이지만 모든 것에 대한 대답이 아니라 적당히 사용해야한다는 데 동의 할 것입니다. 그것들을 너무 많이 사용하면 응용 프로그램을 거의 복잡하게 만들지 않을 것입니다. 패턴은 최상의 솔루션을 만들거나 좋은 솔루션을 만드는 데 도움이 될 수있는 곳에서만 사용해야합니다 (동의합니까?). 이것을 염두에두고 …

4
로깅에 더 적합한 디자인 패턴은 무엇입니까?
프로그램에 일부 이벤트를 기록해야하지만, 프로그램의 실제 기능에 관한 것이 아니기 때문에 로깅 코드를 프로그램 외부에 유지하는 것이 좋습니다. 코드에서 완전히 제외하고 이벤트와 로그를 기록하는 데 Observers와 Listeners 만 사용해야하는지 말씀해 주시겠습니까? 또는 무언가를 기록해야 할 때마다 다음과 같은 코드를 추가 할 수 있습니다. MyGloriousLogger.getXXXLogger().Log(LogPlace, new LogObject(z1, z2, z3, z4, ..., …

2
데이터베이스 내용에 의존하는 도메인 모델 규칙의 유효성을 검사 할 수있는 곳은 어디입니까?
관리자가 필드를 포함하는 양식을 정의 할 수있는 시스템에서 작업하고 있습니다. 그런 다음 정의 된 양식을 사용하여 시스템에 데이터를 입력합니다. 때때로 폼은 GUI를 통해 사람에 의해 채워지고 때로는 폼은 다른 시스템에 의해보고 된 값에 따라 채워집니다. 각 필드에 대해 관리자는 필드에 허용되는 값을 제한하는 유효성 검사 규칙을 정의 할 수 있습니다. …

2
전략 패턴의 컨텍스트 클래스
나는 전략 패턴 을 이해하려고 노력 하고 있습니다. 컨텍스트 클래스는 패턴의 목적을 훼손하지 않고 제거해야합니까? 다른 유형의 파일을 읽기 위해 일종의 스위치가 필요하다는 인상을 받았지만 무언가를 해킹하고 나중에 리팩토링을 처리하고 싶지는 않았습니다 (물론 항상 코드를 리팩터링 할 수는 있지만 아이디어는 다음과 같습니다. 사전에 디자인에서 가능한 한 똑똑해야합니다 ...) : wikimedia …

5
MVC에서 모델에서 기본 데이터 검색을 View에서 수행 할 수 있습니까?
'스키니 컨트롤러, 뚱뚱한 모델' 의 개념 과 출력을 위해 데이터를 요구할 때 뷰가 모델을 직접 호출 할 수 있다는 일반적인 수용을 감안할 때 컨트롤러가 아닌 뷰 내에서 요청의 'get and display'부분을 처리해야합니까? 예를 들어 (코드를 상당히 일반적으로 유지하려고 시도했습니다) : 제어 장치 <?php class Invoice extends Base_Controller { /** * …

7
보안 조건을 사용하는 것이 MVC 위반입니까?
사용자에게 표시되는 내용 (예 : 웹 페이지)은 부분적으로 보안 검사를 기반으로합니다. 나는 보통 사용자 수준 / ACL 보안을 시스템의 비즈니스 로직의 일부로 생각합니다. 뷰가 UI 요소를 조건부로 표시하기 위해 보안을 명시 적으로 검사하는 경우 비즈니스 로직을 포함하여 MVC를 위반합니까?

1
Android에서 FragmentManager로 작업하는 데 유용한 디자인 패턴
조각으로 작업 할 때 조각에 대한 작업을 정의하는 정적 메서드로 구성된 클래스를 사용하고 있습니다. 주어진 프로젝트 FragmentActions에 대해 다음과 유사한 메소드를 포함 하는 클래스가있을 수 있습니다 . public static void showDeviceFragment(FragmentManager man){ String tag = AllDevicesFragment.getFragmentTag(); AllDevicesFragment fragment = (AllDevicesFragment)man.findFragmentByTag(tag); if(fragment == null){ fragment = new AllDevicesFragment(); } FragmentTransaction t …

5
전략 패턴으로 리팩토링 된 함수를 단위 테스트하는 방법은 무엇입니까?
코드에 다음과 같은 함수가있는 경우 : class Employee{ public string calculateTax(string name, int salary) { switch (name) { case "Chris": doSomething($salary); case "David": doSomethingDifferent($salary); case "Scott": doOtherThing($salary); } } 일반적으로 팩토리 클래스와 전략 패턴을 사용하여 Ploymorphism을 사용하도록 이것을 리팩터링합니다. public string calculateTax(string name) { InameHandler nameHandler = NameHandlerFactory::getHandler(name); nameHandler->calculateTax($salary); } …

4
응답 처리를위한 디자인 패턴
대부분의 경우 특정 함수 호출에 대한 응답을 처리하는 코드를 작성할 때 다음 코드 구조를 얻습니다. 예 : 로그인 시스템의 인증을 처리하는 기능입니다 class Authentication{ function login(){ //This function is called from my Controller $result=$this->authenticate($username,$password); if($result=='wrong password'){ //increase the login trials counter //send mail to admin //store visitor ip }else if($result=='wrong …


4
문학 프로그래밍, 좋은 / 나쁜 디자인 방법론
나는 최근 문맹 프로그래밍 의 개념을 발견했다 . 그리고 나는 오히려 흥미로운 것을 발견했습니다. 그러나 나는 그것이 프로그램을 구성하는 나쁜 방법이라는 주장에 직면하지 않았습니다. 많은 곳에서 다루지 않은 것 같습니다. 여기조차도 이것에 관한 질문을 찾을 수 없었습니다. 내 질문은 그 결함이나 문서 처리 방법에 관한 것이 아닙니다 . 나는 문서가 …

3
관찰자 패턴; * 무엇이 바뀌 었는지 아십니까?
클래식 Observer 패턴 인터페이스를 정의하는 두 개의 추상 클래스 Subject와 Observer를 만들었습니다. Observer 패턴을 구현하기 위해 그것들에서 파생됩니다. 관찰자는 다음과 같이 보일 수 있습니다. void MyClass::Update(Subject *subject) { if(subject == myService_) { DoSomething(); } else if(subject == myOtherService_) { DoSomethingElse(); } } 이것은 괜찮으며 누가 무언가 를 바꿨 는지 알려줍니다 …

4
이벤트 리스너 모델이 필요한 증상이있는 "코드 냄새"는 무엇입니까?
이벤트 리스너 접근이 필요함을 나타내는 코드베이스의 증상은 무엇입니까? 다른 클래스의 디자인 타임 세트에서 정의되지 않은 여러 클래스에 의해 호출되어야하는 클래스가있을 때 일종의 신호 프레임 워크가 필요하지만 다른 상황이 무엇인지 듣고 싶습니다. 이벤트 기반 모델로 변경하여 개선되었습니다.

2
C #에서 어떤 GOF 디자인 패턴이 이미 일류 언어 기능으로 구현 되었습니까?
(이 질문은 "너무 광범위하고"실제 질문이 아니기 때문에 스택 오버플로에서 종료되었으므로 여기에 더 적합할까요?) 이 질문에서 영감을 얻었습니다 . 이벤트는 관찰자 패턴의 언어 레벨 구현입니다. C #에서 언어 기능으로 구현 된 다른 디자인 패턴이 있습니까? 다른 언어로 구현 된 디자인 패턴이 많기 때문에이 질문을 C #에 맞게 유지하고 싶습니다. BCL에서 패턴 …

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