«design-patterns» 태그된 질문

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

1
OCP (Open Closed Principle) 및 DIP (Dependency Inversion Principle)
OCP ( Open Closed Principle )와 DIP ( Dependency Inversion Princible ) 의 차이점을 이해하려고했습니다 . 지금까지 인터넷에서 수행 한 연구를 바탕으로 'DIP는 OCP를 달성 할 수있는 하나의 옵션'이라는 결론에 도달했습니다. 나는 이것에 맞습니까? DIP를 따르지 않지만 OCP를 따르는 예를 들어 주시겠습니까?

2
의존성 주입 스타일의 실제 차이점은 무엇입니까?
나는 의존성 주입에 익숙하지 않으며 응용 프로그램에서 어떤 스타일을 사용 해야하는지에 대한 몇 가지 질문이 있습니다. Martin Fowler의 Inversion of Control Containers 및 Dependency Injection 패턴 을 읽었 지만 생성자, setter 및 인터페이스 주입의 실제 차이점을 알 수 없습니다. 나에게 하나를 사용하는 이유는 코드 정리 및 / 또는 명확성의 문제 …

2
RESTful API에서 명령 패턴 구현
HTTP API를 디자인하는 과정에서 가능한 한 RESTful하게 만들었습니다. 기능이 몇 가지 리소스에 퍼져있는 작업이 있으며 언젠가 취소해야합니다. 제 생각에 이것은 명령 패턴처럼 들리지만 어떻게 리소스로 모델링 할 수 있습니까? DepositAction과 같은 XXAction이라는 새로운 리소스를 소개합니다. POST /card/{card-id}/account/{account-id}/Deposit AmountToDeposit=100, different parameters... 실제로 새 DepositAction을 작성하고 Do / Execute 메소드를 활성화합니다. 이 …


2
OO 디자인 조언 찾기
산업 환경에서 밸브를 열고 닫는 데 사용될 앱을 개발 중이며 다음과 같은 간단한 것을 생각하고있었습니다. public static void ValveController { public static void OpenValve(string valveName) { // Implementation to open the valve } public static void CloseValve(string valveName) { // Implementation to close the valve } } (이 구현은 밸브를 …

1
"디자인 패턴에 언어 기능이 없습니까?" [닫은]
여기에 무엇이 요청되는지 말하기가 어렵습니다. 이 질문은 모호하거나 모호하거나 불완전하거나 지나치게 광범위하거나 수사적이며 현재 형태로 합리적으로 대답 할 수 없습니다. 다시 열 수 있도록이 질문을 명확하게 설명 하려면 도움말 센터를 방문하십시오 . 휴일 칠년 전에 . 프로그래머들이 여기 에서이 질문에 대한 답을 보았습니다 . 디자인 패턴과 OOP 관행에 대한 생각이 …

2
Persistence-Ignorant 객체는 지연 로딩을 구현할 수 있습니까?
Persistence Ignorance 는 단일 책임 원칙을 적용한 것으로, 실제로 Domain Objects ( DO )에는 지속성과 관련된 코드가 없어야하며 대신 도메인 논리 만 포함해야합니다. a) 이것은 하위 계층 (즉, 영속 계층)과 접촉하는 코드 가 비즈니스 로직 계층의 다른 클래스 ( OC ) 에서 도메인 모델 외부에 존재한다는 것을 의미한다고 생각 합니까? …

4
사용자 정의 필드 및 데이터 유형을위한 디자인 패턴 / 전략
데이터 필드에 사용자 정의 필드를 추가하거나 사용자 정의 객체를 직접 정의 할 수있는 응용 프로그램을 설계하기위한 일반적인 전략이나 디자인 패턴이 있습니까? 예를 들어, 고유 한 유형의 정보, Expression Engine과 같은 프레임 워크 및 채널 및 채널 필드 그룹을 처리하는 방법 (예) 또는 Wordpress와 같은 CMS가 워드 프레스와 같은 기능을 수행 …

5
과부하가 개방 / 폐쇄 원칙의 예입니까?
위키 백과는 말합니다 "소프트웨어 엔티티 (클래스, 모듈, 함수 등)는 확장을 위해 열려 있어야하지만 수정을 위해 닫혀 있어야합니다." 함수 라는 단어가 눈에 들어 왔고, 이제 메소드에 과부하를 생성하는 것이 개방 / 폐쇄 원리의 예로 간주 될 수 있다고 생각할 수 있는지 궁금합니다. 예를 설명하겠습니다. 거의 1000 곳에서 사용되는 서비스 계층에 메소드가 …

8
실제 KISS 솔루션은 얼마나 간단합니까? [닫은]
현재로서는이 질문이 Q & A 형식에 적합하지 않습니다. 답변, 사실, 참고 자료 또는 전문 지식을 통해 답변이 뒷받침 될 것으로 예상되지만이 질문은 토론, 논쟁, 여론 조사 또는 광범위한 토론을 요구할 것입니다. 이 질문을 개선하고 다시 열 수 있다고 생각 되면 도움말 센터 를 방문하여 안내를 받으십시오 . 휴일 팔년 전에 …

1
아약스가 많은 웹 애플리케이션을위한 패턴
지금까지는 웹 응용 프로그램 개발을위한 MVC 패턴을 좋아했습니다. 웹의 경우 주로 PHP (Kohana 및 CodeIgniter 프레임 워크 사용)와 Ruby (RoR)로 개발했습니다. 내 응용 프로그램이 Ajax 측 (단일 페이지 응용 프로그램 등)에서 무거워 짐에 따라 MVC의 기본 개념을 배신 할 수는 없었지만 Javascript는 대부분의 작업을 수행합니다. 뷰 또는 더 많은 js …

8
작은 반복적 인 코드 세그먼트에 대해 함수 / 메소드를 작성하는시기에 대한 좋은 코드 관행은 무엇입니까?
더 큰 프로그램을 작성하는 동안 여러 번 나는 코드를 함수 나 메소드에 넣는 것이 얼마나 많은 복사 및 붙여 넣기가 좋은지, 그리고 좋은 경험 법칙은 무엇인지에 대해 의문을 제기했습니다. 나는 4 줄 이상의 엄지 손가락 규칙을 사용하고 두 번 이상 나타나고 그 코드를 포함하는 간단한 함수 / 메소드를 만듭니다. 더 …

3
Joshua Bloch의 빌더 디자인 패턴이 개선 되었습니까?
2007 년에 Joshua Blochs가 "빌더 패턴"에 대해 다루는 기사와 특히 개체에 많은 속성이있는 경우 생성자 및 세터의 남용을 개선하기 위해 수정하는 방법에 대한 기사를 읽었습니다. 대부분은 선택 사항입니다. 이 디자인 패턴에 대한 간략한 요약이 여기에 있습니다 . 나는 그 아이디어를 좋아했고 그 이후로 그것을 사용해왔다. 그것의 문제는 클라이언트 관점에서 사용하는 …

4
초기화 방법을 피하십시오
이 클래스에는 클래스와 초기화 메소드가있는 기존 코드가 있습니다. 일단 클래스의 객체가 생성되면 initialize를 호출해야합니다. initialize 메소드가 존재하는 이유 전역 범위를 갖기 위해 오브젝트가 조기에 작성된 후 initialize 메소드가 종속 된 dll을로드 한 후 나중에 호출됩니다. 초기화 관련 문제 이제 클래스에는이 bool isInitialized가 있으며,이 bool isInitialized는 진행하기 전에 모든 메소드에서 확인해야하며 …

1
REST 웹 서비스의 인증 / 액세스 제어를위한 소프트웨어 아키텍처
새로운 RESTful 웹 서비스를 설정 중이며 역할 기반 액세스 제어 모델 을 제공해야합니다 . 사용자가 서비스에 액세스 할 수 있도록 사용자 이름과 비밀번호를 제공하고 역할에 따라 서비스를 사용할 수있는 방법 (사용할 수있는 서비스, 읽기 / 읽기 / 쓰기 등)을 제한 할 수있는 아키텍처를 만들어야합니다. 해당 사용자에게 할당되었습니다. 나는 다른 질문들을 …

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