«object-oriented» 태그된 질문

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

7
마법사와 전사의 규칙 우회
에서 블로그 게시물이 시리즈 , 에릭 Lippert의이 마법사와 예제로 전사를 사용하여 객체 지향 설계에서 문제를 설명 : abstract class Weapon { } sealed class Staff : Weapon { } sealed class Sword : Weapon { } abstract class Player { public Weapon Weapon { get; set; } } sealed class …

3
인터페이스가 구체적인 클래스에 의존해도 괜찮습니까?
사용자 정의 오류 처리기를 위해 Java로 인터페이스를 만들고 있습니다. 인수 오류 객체를 전달하고 싶지만 Exception클래스의 자식이어야 합니다. 인터페이스에서 정의 된 클래스 이름을 사용해도 괜찮습니까? 구현에 의존하지 않는다는 점에서 인터페이스가 적지 않습니까? 나는 이런 식으로하려고합니다. public class CustomException { /* ... Implementation ... */ } public interface Interface { void onError(CustomException …

2
인터페이스 분리 원리 : 인터페이스가 상당히 겹치는 경우 어떻게해야합니까?
에서 피어슨 새로운 국제 버전 : 애자일 소프트웨어 개발, 원칙, 패턴, 및 사례 : 때로는 다른 클라이언트 그룹이 호출 한 메소드가 겹칠 수 있습니다. 오버랩이 작 으면 그룹의 인터페이스가 분리되어 있어야합니다. 공통 기능은 모든 겹치는 인터페이스에 선언해야합니다. 서버 클래스는 각 인터페이스에서 공통 기능을 상속하지만 한 번만 구현합니다. Bob 아저씨, 약간의 …

1
파이썬의 조인은 조인 할 항목이 아니라 루비 또는 스몰 토크와 비교할 때 디자인상의 이유로 심볼에 집중하는 것 같습니다.
OOP의 초석 중 하나는 우리가 다루고 싶은 아이템 인 객체가 있고 메시지를 보낸다는 것입니다. 따라서 항목 모음이 있고 하나의 문자열에 넣어야한다는 것이 당연한 것처럼 보일 수 있습니다. ["x", "o", "o"].join(" | ") # joining a tic-tac-toe row in Ruby (Smalltalk는 동일한 방식으로 수행합니다). 은 " | "어떤 방법이 인수를 결합하는 …

2
코드 구성 방식을 계획하기 위해 UML 다이어그램을 사용하는 것이 부적절한 이유는 무엇입니까?
따라서 다이어그램은 때때로 부적절 할 수 있습니다. 언제 부적절한가요? 코드없이 코드를 작성하여 유효성을 검증 한 후 따르려고합니다. 아이디어를 탐색하기 위해 다이어그램을 그리는 데 아무런 문제가 없습니다. 민첩한 소프트웨어 개발 : 원칙, 패턴 및 실습 -Robert C. Martin 그가 정확히 무엇을 의미합니까? UML은 "다이빙" 하기 전에 코드를 구성하는 방법을 계획하도록 설계되지 …

2
DDD / OOP에서 엔티티의 잘 알려진 비즈니스 ID를 전용 유형으로 표시해야합니까?
실제로는 다른 기본 유형에 대해 사용자 정의 (불변) class를 사용하는 것을 의미 string합니다. 예 : 출판 : 국제 표준 도서 번호. 금융 : 국제 증권 식별 번호. 장점 : 식별자의 형식을 보장 할 수 있습니다. 모델의 일류 회원이됩니다. 단점 : 지속성 마찰을 추가합니다 (예 : Entity Framework). 더 많은 코드.

4
계층을 강요하지 않고 개체가 서로 상호 작용하고 통신하도록하려면 어떻게해야합니까?
이 문제가 내 질문을 명확하게 해주길 바랍니다. 그래도 이해가 안된다면 완전히 이해하고 싶습니다. 그럴 경우 알려주세요. 더 명확하게 해보도록하겠습니다. 객체 지향 게임 개발에 익숙해 지도록 만든 매우 간단한 게임 인 BoxPong을 만나보십시오 . 상자를 드래그하여 공을 제어하고 노란색 물건을 수집하십시오. BoxPong을 만드는 것은 무엇보다도 근본적인 질문을 공식화하는 데 도움이되었습니다. 서로 …

5
Java에서 "인터페이스에 프로그래밍"하는 것이 항상 의미가 있습니까?
인터페이스에서 구현하는 클래스를 인스턴스화하는 방법에 대한 이 질문에 대한 토론을 보았습니다 . 제 경우에는의 인스턴스를 사용하는 매우 작은 프로그램을 Java로 작성하고 있으며 TreeMap모든 사람들의 의견에 따라 다음과 같이 인스턴스화해야합니다. Map<X> map = new TreeMap<X>(); 내 프로그램 map.pollFirstEntry()에서 Map인터페이스 (및 인터페이스 에있는 다른 두 사람) 에서 선언되지 않은 함수를 호출하고 있습니다 …

4
이 시나리오에서 방문자 패턴이 유효합니까?
내 작업의 목표는 예약 된 되풀이 작업을 실행할 수있는 작은 시스템을 설계하는 것입니다. 되풀이되는 작업은 "월요일부터 금요일까지 오전 8 시부 터 오후 5 시까 지 관리자에게 이메일을 보내는 것"과 같습니다. RecurringTask 라는 기본 클래스가 있습니다. public abstract class RecurringTask{ // I've already figured out this part public bool isOccuring(DateTime dateTime){ …

5
OOP 언어 및 유형의 클래스
프로그래밍 언어 이론에서 유형은 일련의 값입니다. 예를 들어 "int"유형은 모든 정수 값의 집합입니다. OOP 언어에서 클래스는 유형입니까? 클래스가 둘 이상의 멤버로 정의 된 경우 class myclass{ int a; double b; } 수업에 대해 이야기 할 때 " (a,b)어디 a를 int이며 b이중이다", 또는 "{ (x,y)| xint, ydouble이 있습니까?" " 인스턴스의 myclass의미 …

8
객체 지향과 알고리즘의 관계
일부 알고리즘 교과서를 읽으면 일부 문제 (정렬, 최단 경로) 또는 일반적인 방법 (재귀 알고리즘, 나누기 및 정복, 동적 프로그래밍 ...)에 대한 영리한 절차로 가득합니다. 나는 객체 지향 프로그래밍의 흔적을 거의 발견하지 못했습니다. (왜 더 절차 지향적입니까?). 그때 나는 생각하고 있었다 : 알고리즘과 OOP의 관계는 무엇입니까? 두 개의 독립적 인 주제입니까? …

4
클래스의 메소드는 언제 자신을 수정 한 후 동일한 인스턴스를 리턴해야합니까?
나는 세 가지 방법을 가지고있는 클래스가 A(), B()하고 C(). 이러한 메소드는 자체 인스턴스를 수정합니다. 방법은 인스턴스는 별도의 사본 (다만 때 인스턴스를 반환해야하지만 Clone()) 나는 반환하는 자유로운 선택 가지고 void또는 같은 인스턴스 ( return this;) 메소드에서 동일한 인스턴스를 수정하고 다른 값을 반환하지 않습니다. 동일한 수정 된 인스턴스를 반환하기로 결정할 때와 같은 …

6
상당한 시간이 걸리므로 정적 클래스 대신 객체를 사용해야하는 이유를 생각할 수 없습니다. 생각보다 물건에 더 많은 이점이 있습니까? [닫은]
휴무 . 이 질문은 더 집중되어야 합니다. 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? 이 게시물 을 편집 하여 한 가지 문제에만 집중할 수 있도록 질문을 업데이트하십시오 . 휴일 오년 전에 . 나는 객체의 개념을 이해하고 Java 프로그래머로서 OO 패러다임은 실제로 자연스럽게 나에게 온다고 생각합니다. 그러나 최근에 나는 생각하는 것을 …

9
다른 프로그래밍 언어에서 OOP를 배우는 데 차이가 있습니까? [닫은]
휴무 . 이 질문은 더 집중되어야 합니다. 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? 이 게시물 을 편집 하여 한 가지 문제에만 집중할 수 있도록 질문을 업데이트하십시오 . 휴일 육년 전 . OOP를 배우고 싶습니다. 나는 파이썬을 알고 OOP에 대해 거의 알지 못한다. 하지만 포럼에서 "learn OOP"를 검색 할 때 …

4
.NET 프로그래밍 및 POCO 클래스
오늘 밤에 변경해야 할 응용 프로그램을 숙고하면서 생각을하고 있었고 생각하게했습니다. Entity Framework 엔터티는 POCO (Plain old CLR Objects)이며 ASP.NET MVC에 사용되는 모델도 일반적으로 POCO입니다. 이것은 기본적으로 속성이 아니라 메서드를 의미합니다. 이제 OO 프로그래밍은 일반적으로 객체가 객체의 기능과 메소드를 포함하는 기능을 캡슐화 할 수있게하여 다형성이 발생할 수 있도록합니다. POCO 클래스가 증가함에 …

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