«object-oriented» 태그된 질문

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


2
모나드가 상속 계층에 대한 실행 가능한 대안일까요?
먼저 monoid를 설명하는 이와 같은 모나드에 대해 언어에 구애받지 않는 설명 을 사용하겠습니다 . 모노 이드는 파라미터로서 몇 가지 유형을 가지고 동일한 유형을 반환하는 함수의 (대략) 세트이다. 모나드 테이크 함수 (약) 세트이다 래퍼 인자로 타입과 동일한 타입 래퍼를 반환한다. 그것들은 정의가 아니라 설명입니다. 그 설명을 자유롭게 공격하십시오! 따라서 OO 언어에서 …

4
여러 인터페이스를 결합하는 빈 인터페이스
두 개의 인터페이스가 있다고 가정하십시오. interface Readable { public void read(); } interface Writable { public void write(); } 경우에 따라 구현 객체는 이들 중 하나만 지원할 수 있지만 많은 경우 구현시 두 인터페이스를 모두 지원합니다. 인터페이스를 사용하는 사람들은 다음과 같은 작업을 수행해야합니다. // can't write to it without explicit …

5
엔터티 구성 요소 시스템 아키텍처 개체는 정의 중심입니까?
는 IS 엔티티 컴포넌트 시스템 아키텍처의 목적은 정의에 의해, 지향? 좀 더 절차적이고 기능적인 것 같습니다. 내 의견은 그것이 당신이 OO 언어로 그것을 구현하는 것을 방해하지는 않지만, OO 방식으로 그렇게하는 것은 관용적이지 않다는 것입니다. ECS가 데이터 (E & C)와 동작 (S)을 분리하는 것 같습니다. 증거로 : 아이디어는 엔터티에 게임 방법을 …

5
현대 도서관에서 OOP를 사용하지 않는 이유
저는 초급 C ++ 프로그래머이지만 언어의 개념을 상당히 잘 알고 있습니다. SDL과 같은 외부 C ++ 라이브러리를 배우기 시작했을 때 OpenGL (아마도 다른 것)은 놀랍게도 C ++ 개념을 전혀 사용하지 않는다는 것을 알게되었습니다. 예를 들어, SDL이나 OpenGL은 함수와 오류 코드를 선호하는 클래스 나 예외를 사용하지 않습니다. OpenGL에서 glVertex2f와 같은 함수를 …

5
협회, 집계 및 구성의 사용은 무엇입니까?
캡슐화 란 무엇이며이를 구현하는 세 가지 기술 (협회, 집계 및 구성)에 대한 많은 이론을 살펴 보았습니다. 내가 찾은 것은 : 캡슐화 캡슐화는 클래스의 필드를 개인용으로 만들고 공용 메소드를 통해 필드에 대한 액세스를 제공하는 기술입니다. 필드가 개인용으로 선언되면 클래스 외부의 사용자가 필드에 액세스 할 수 없으므로 클래스 내의 필드가 숨겨집니다. 이러한 …

11
정보가 협약 이상의 것을 숨기고 있습니까?
Java, C # 및 기타 강력한 형식의 정적으로 확인 된 언어에서 다음과 같은 코드를 작성하는 데 사용됩니다. public void m1() { ... } protected void m2() { ... } private void m2() { ... } void m2() { ... } 동적으로 확인 된 일부 언어는 지정된 클래스 구성원의 "개인"수준을 표현하기위한 …

11
OOP가 실제 세계에서 지배적 인 프로그래밍 모델입니까?
결코 개체? 글쎄, 거의 ACM 커뮤니케이션의 VIEWPOINT 섹션에서 " Objects Never? Well, Hardly Ever Ever " 라는 흥미로운 기사를 발견했습니다 . 그것은 객체 우선 또는 객체와는 근본적으로 다른 관점입니다. 그는 "물체를 절대로"또는 "물체 대학원"을 제안합니다. 저자는 OOP에 대해 이야기하고 실제 프로그래밍 환경에서 OOP가 어떻게 사용되는지에 대해 질문했습니다. 그는 OOP가 지배적 …

9
init () 메소드는 코드 냄새가 있습니까?
init()유형에 대한 메소드를 선언 할 목적이 있습니까? 나는 우리가 생성자를 선호init() 해야하는지 또는 선언을 피하는 방법을init() 묻지 않습니다 . 이 경우 내가 부탁 해요 어떤 선언 뒤에 이론적 init()방법 (그것이 얼마나 일반적인보고를) 또는 코드 냄새의 경우 피해야한다. init()관용구는 매우 일반적이지만, 나는 실제 혜택을 볼 아직. 메소드를 통한 초기화를 장려하는 유형에 …

7
패턴과 원리의 차이점
객체 지향 디자인 패턴과 원칙의 차이점은 무엇입니까? 그것들이 다른가? 내가 이해하는 한 두 가지 공통 목표 (예 : 유연성)를 달성하려고합니다. 패턴이 원칙이고 그 반대도 마찬가지라고 말할 수 있습니까? 설계 원리 = SOLID (즉, 의존성 역전 원리) 디자인 패턴 = Gof (예 : 추상 팩토리 패턴)

3
C ++ "메소드"( "멤버 함수"와 비교)에 대해 말하는 것은 얼마나 잘못된가?
나는 이해 가에 따라 C ++ 스펙 거기에 "방법"같은 것은 없으며, 일부 (대부분? 대부분?) C ++ 프로그래머가 자바주의로 "방법"을 고려하십시오. 반면에 C ++ 포럼에서도 사람들은 비틀림없이 메소드에 대해 이야기하는 것 같습니다. 이 용어와 관련하여 알려진 규칙이나 일반적인 관행을 찾고 있습니다. C ++ 및 Java 버전이 모두있는 API를 문서화하고 있습니다. 개발자는 …


3
전제 조건 강화와 후 조건 약화는 Liskov 대체 원칙을 어떻게 위반합니까?
나는 Liskov의 대체 원칙 이 다음과 같은 경우에 위반 된다는 것을 읽었습니다 . 전제 조건이 강화되거나 사후 조건이 약화 그러나 나는이 두 가지 점이 Liskov 대체 원칙을 어떻게 위반하는지 아직 완전히 알지 못합니다. 예를 들어 설명해 주시겠습니까? 구체적으로, 위의 조건 중 하나가 어떻게 서브 클래스 객체를 수퍼 클래스 객체로 대체 …

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

4
인스턴스 필드에 의존하지 않는 메소드를 정적으로 만드십시오.
최근에 Java 프로젝트를 위해 통합 테스트 프레임 워크를 위해 Groovy에서 프로그래밍을 시작했습니다. Groovy 플러그인과 함께 Intellij IDEA를 사용하며 정적이 아니며 인스턴스 필드에 의존하지 않는 모든 메소드에 대한 경고로 놀랍습니다. 그러나 Java에서는 이것이 문제가 아닙니다 (적어도 IDE의 관점에서). 인스턴스 필드에 의존하지 않는 모든 메소드를 정적 함수로 변환해야합니까? 사실 인 경우, Groovy에만 …

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