«object-oriented» 태그된 질문

시스템을 모듈 방식으로 제어 및 조작 할 수있는 일련의 객체로 모델링 할 수있는 방법론

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

2
Joe Armstrong의 바나나 원숭이 정글 문제를 설명하는 샘플 코드
폐쇄되었습니다 . 이 질문은 의견 기반 입니다. 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? 이 게시물 을 편집 하여 사실과 인용으로 답변 할 수 있도록 질문을 업데이트하십시오 . 휴일 2 년 전 . 책에서 직장에서 코더 조 암스트롱 밝혔다 : 재사용 성 부족은 기능적 언어가 아닌 객체 지향 언어에서 비롯된 …

6
다음 코드 스 니펫에서 너무 많은 if / else-if를 피하는 더 좋은 방법은 무엇입니까?
"액션"값을 기반으로 작업을 수행하는 서블릿을 입력으로 전달하려고합니다. 다음은 샘플입니다 public class SampleClass extends HttpServlet { public static void action1() throws Exception{ //Do some actions } public static void action2() throws Exception{ //Do some actions } //And goes on till action9 public void doPost(HttpServletRequest req, HttpServletResponse res)throws ServletException, IOException { String …

2
LinkedList를 확장하는 스택. Liskov 대체 원칙 위반?
add_first (), add_last (), add_after (), remove_first (), remove_last () 및 remove ()와 같은 함수가있는 LinkedList 클래스가 있습니다. 이제 push (), pop (), peek () 또는 top ()과 같은 기능을 제공하는 클래스 스택이 있으며 이러한 메소드를 구현하기 위해 LinkedList 클래스 메소드를 확장합니다. 이것이 Liskov 대체 원칙을 위반합니까? 예를 들어, 링크 …

8
“상속보다 작곡 선호”-서명 변경을 방어해야하는 유일한 이유는 무엇입니까?
이 페이지 는 다음과 같은 주장으로 상속에 대한 구성을 옹호합니다 (내 말로 표현). 서브 클래스에서 재정의되지 않은 수퍼 클래스의 메소드 서명 변경으로 인해 상속을 사용할 때 여러 곳에서 추가 변경이 발생합니다. 그러나 컴포지션을 사용할 때 필요한 추가 변경은 단일 위치에만 있습니다 : 서브 클래스. 이것이 실제로 상속보다 구성을 선호하는 유일한 …

6
객체를 발표자에게 매핑하는 깔끔한 OOP 방식
Java로 보드 게임 (예 : 체스)을 만들고 있는데 각 조각은 자체 유형 (예 Pawn: Rook등)입니다. 응용 프로그램의 GUI 부분에는 이러한 각 조각에 대한 이미지가 필요합니다. 생각하고 있기 때문에 rook.image(); UI와 비즈니스 로직의 분리를 위반하는 경우 각 조각마다 다른 발표자를 만든 다음 조각 유형을 해당 발표자에 매핑합니다. private HashMap<Class<Piece>, PiecePresenter> presenters …

4
단일 책임을 가진 큰 클래스
2500 라인 Character클래스가 있습니다. 게임에서 캐릭터의 내부 상태를 추적합니다. 해당 상태를로드하고 유지합니다. ~ 30 개의 들어오는 명령을 처리합니다 (보통 =는 명령을 전달 Game하지만 일부 읽기 전용 명령은 즉시 응답합니다). Game취한 조치 및 타인의 관련 조치와 관련하여 ~ 80 개의 전화를받습니다 . Character캐릭터의 상태를 관리하고 들어오는 명령과 게임을 중재하는 것은 하나의 …

3
인터페이스와 관련된 시뮬레이션에 대한 잘못된 OOP 설계입니까?
나는 뱀파이어, 늑대, 인간 및 트럭을 시뮬레이션하기 위해 내 자신의 작은 OOP 프로그램을 설계하고 있으며 인터페이스에 대한 내 자신의 제한된 이해를 구현하려고합니다. ( 여전히 추상화하고 있으며 아직 코드 구현이 없으므로 OOP 디자인의 문제입니다 ... 생각합니다!) 이 클래스들 사이 에서 '공통 행동' 을 찾고 인터페이스 로 구현하는 것이 맞 습니까? 예를 …

4
C 구조체는 함수가있는 것처럼 동작 할 수 있습니까?
struct구조체 와 멤버는 가질 수 있지만 함수는 할 수없는 C와 s를 사용 합니다. 이름을 지정한 문자열에 대한 구조체를 만들고 싶습니다. 문자열 의 인덱스 str는 str.replace(int i, char c)어디에서 할 수 i있고 문자열 c위치를 바꾸는 문자 i입니다. 구조체가 함수를 가질 수 없거나 여전히 우리 가이 동작을 구현하고 구조체가 실제로는 새 구조체에 …

3
어떤 이유로 Swift의 각 델리게이트에 대해 별도의 클래스 확장을 사용 하시겠습니까?
Ray Wenderlich 튜토리얼을 진행하면서 저자가 클래스 확장을 사용하여 델리게이트 콜백을 클래스 자체에서 처리하지 않고 델리게이트 콜백을 유지하는 것으로 나타났습니다. 클래스 확장 내에서 콜백 위임 : extension LogsViewController : UIPopoverPresentationControllerDelegate { func adaptivePresentationStyleForPresentationController(controller: UIPresentationController, traitCollection: UITraitCollection) -> UIModalPresentationStyle { ... } } 클래스 내에 포함시키는 것과는 대조적으로 : 클래스 내 콜백 …

6
의존성 주입 프레임 워크에 대한 논쟁 중 하나에 의문을 제기하는 이유 : 왜 객체 그래프를 만드는 것이 어려운가?
Google Guice와 같은 종속성 주입 프레임 워크는 사용법에 대한 다음 동기 ( source )를 제공합니다. 객체를 구성하려면 먼저 해당 객체의 종속성을 작성하십시오. 그러나 각 종속성을 빌드하려면 해당 종속성 등이 필요합니다. 따라서 객체를 만들 때 실제로 객체 그래프를 만들어야합니다. 손으로 객체 그래프를 작성하는 것은 노동 집약적이며 (...) 테스트를 어렵게 만듭니다. 그러나 …

6
객체 지향 프로그래밍을 연습하는 방법? [닫은]
폐쇄되었습니다 . 이 질문은 의견 기반 입니다. 현재 답변을받지 않습니다. 휴일 육년 전 . 잠김 . 이 질문과 주제는 주제가 다르지만 역사적 의미가 있기 때문에이 질문과 답변은 잠겨 있습니다. 현재 새로운 답변이나 상호 작용을받지 않습니다. 나는 항상 절차 언어로 프로그래밍되어 왔으며 현재 객체 방향으로 이동하고 있습니다. 내가 직면 한 주요 …

6
어떤 기능적 기능이 가져다주는 이점에 대해 약간의 OOP 혼동 가치가 있습니까?
Haskell과 F #에서 함수형 프로그래밍을 배우고 나면 OOP 패러다임은 클래스, 인터페이스, 객체와 거꾸로 보입니다. 동료가 이해할 수있는 FP의 어떤 측면을 업무에 도입 할 수 있습니까? 팀을 재교육하여 사용할 수 있도록 상사와 이야기 할 가치가있는 FP 스타일이 있습니까? FP의 가능한 측면 : 불변성 부분 적용 및 카레 일급 함수 (함수 포인터 …

4
레일 : 데메테르 혼란의 법칙
저는 Rails AntiPatterns라는 책을 읽고 있습니다. 그들은 Demeter of Demeter를 위반하지 않기 위해 위임을 사용하는 것에 대해 이야기합니다. 주요 예는 다음과 같습니다. 그들은 컨트롤러에서 이와 같은 것을 호출하는 것이 좋지 않다고 생각합니다 (그리고 나는 동의합니다) @street = @invoice.customer.address.street 제안 된 해결책은 다음을 수행하는 것입니다. class Customer has_one :address belongs_to :invoice …

1
함수형 프로그래밍보다 명령형 프로그래밍이 선호되는 이유는 무엇입니까? [닫은]
폐쇄되었습니다 . 이 질문은 의견 기반 입니다. 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? 이 게시물 을 편집 하여 사실과 인용으로 답변 할 수 있도록 질문을 업데이트하십시오 . 휴일 육년 전 . 배경 : 저는 일반적인 정신 모델이 명령형 프로그래밍 인 VB.NET 상점에서 일하는 기능적 프로그래밍을지지합니다. 시스템의 기초가 WinForms이기 때문에 …

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