«object-oriented» 태그된 질문

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

4
Alan Kay가“객체 지향”이라는 용어의 의미는 무엇입니까?
보고 된 바에 따르면, Alan Kay는 "객체 지향"이라는 용어의 발명가입니다. 그리고 그는 종종 오늘날 우리가 OO라고 부르는 것이 그가 의미하는 것이 아니라고 말한 것으로 인용됩니다. 예를 들어 방금 Google에서 이것을 발견했습니다. 나는 '객체 지향'이라는 용어를 만들었고 C ++을 염두에 두지 않았다고 말할 수 있습니다. -Alan Kay, OOPSLA '97 나는 희미하게 …

10
OOP에서 동작이없는 객체-디자인 딜레마
OOP의 기본 개념은 데이터와 동작 (데이터 위에 있음)을 분리 할 수 ​​없으며 클래스 객체의 아이디어와 연결되어 있다는 것입니다. 객체에는 그와 함께 작동하는 데이터 및 메소드가 있습니다. 분명히 OOP의 원칙에 따르면 데이터 (C 구조체와 같은) 인 객체는 반 패턴으로 간주됩니다. 여태까지는 그런대로 잘됐다. 문제는 요즘 내 코드 가이 안티 패턴의 방향으로 …


12
C가 왜 '객체 지향'언어로 간주되지 않습니까?
C에는 객체로 간주 될 수있는 '구조체'와 같은 자체 준 객체가있는 것으로 보입니다 (일반적으로 생각하는 높은 수준의 방식으로). 또한 C 파일 자체는 기본적으로 별도의 "모듈"입니다. 그렇다면 모듈도 '객체'와 비슷하지 않습니까? C ++과 매우 유사한 C가 왜 저수준 "절차"언어로 간주되는지 C ++가 고수준 "객체 지향"인 이유에 대해 혼란스러워합니다. * 편집 : (설명) …

15
OOP 시대에 C가 왜 그렇게 인기가 있습니까? [닫은]
나는 C와 C ++로 많이 코딩했지만 C가 Java보다 약간 두 번째로 인기있는 언어라고는 생각하지 않았다. TIOBE 프로그래밍 커뮤니티 인덱스 이 OOP 시대에 C가 왜 그렇게 인기가 있는지 궁금합니다. 가장 많이 사용되는 5 가지 프로그래밍 언어 중 4 개는 "현대"객체 지향 언어입니다. 이제 C에서 OOP를 어느 정도 사용할 수 있다는 데 …

22
왜 OOP가 어려운가요? [닫은]
객체 지향 언어 (Java)를 사용하기 시작했을 때, 나는 거의 "Cool"으로 가서 코딩을 시작했습니다. OOP에 대한 많은 질문을 읽은 후에야 최근까지만 생각해 본 적이 없습니다. 내가 얻는 일반적인 인상은 사람들이 어려움을 겪고 있다는 것입니다. 나는 그것을 어렵게 생각하지 않았고 어떤 천재라고도 말하지 않았기 때문에 무언가를 놓치거나 오해했을 것이라고 생각합니다. OOP를 이해하기 …

22
자연스럽지 않기 때문에 OOP가 어렵습니까?
OOP는 사람들이 세상에 대해 생각하는 방식과 자연스럽게 일치한다는 것을 종종들을 수 있습니다. 그러나 나는이 진술에 강력히 동의하지 않을 것이다. 우리 (또는 적어도 나는) 는 우리가 만나는 것들 사이 의 관계 측면에서 세계를 개념화 하지만, OOP의 초점은 개별 클래스와 계층을 설계하는 것이다. 일상 생활에서 관계와 행동은 대부분 OOP에서 관련없는 클래스의 인스턴스였던 …

10
게터와 세터를 어떻게 피합니까?
나는 클래스를 디자인하는 데 어려움을 겪고 있습니다. 객체가 데이터가 아니라 동작을 노출한다는 것을 읽었습니다. 따라서 getter / setter를 사용하여 데이터를 수정하는 대신 지정된 클래스의 메소드는 "동사"또는 오브젝트에서 작동하는 조치 여야합니다. 예를 들어, '계정'객체에, 우리는 방법이있을 것입니다 Withdraw()및 Deposit()보다는 setAmount()등을 참조하십시오 : getter와 setter 메소드가 악 이유 . 예를 들어, Name, …

4
리치 도메인 모델 — 행동이 정확히 어떻게 적용됩니까?
Rich vs. Anemic 도메인 모델에 대한 토론에서 인터넷은 철학적 조언으로 가득하지만 권위있는 예는 부족합니다. 이 질문의 목적은 적절한 도메인 기반 디자인 모델의 결정적인 지침과 구체적인 예를 찾는 것입니다. (이상적으로 C #에서) 실제 예에서이 DDD 구현은 잘못된 것 같습니다. 아래의 WorkItem 도메인 모델은 Entity Framework에서 코드 우선 데이터베이스에 사용하는 속성 모음 …

13
OOP의 개체는 엔터티를 나타내야합니까?
개체가 개체를 나타내야합니까? 함으로써 기업 나는 같은 것을 의미 Product, Motor하는 ParkingLot등 물리적, 심지어 명확한 비 물리적 개념 개체 - 물론 일부 핵심 데이터가 명확하게 개체에 속하는으로, 정의 뭔가, 일부 기능 / 방법 핵심 데이터에서 명확하게 작동합니다. 예를 들어, 나는 Demon실체가 아닌 실체가 아닌 가상의 실체를 가질 수있다. 객체가 메소드의 …

2
Javascript에 실제로 적용 가능한 OO 원칙이 있습니까?
Javascript는 프로토 타입 기반 객체 지향 언어이지만 다음 중 한 가지 방법으로 클래스 기반이 될 수 있습니다. 스스로 클래스로 사용할 함수 작성 프레임 워크에서 멋진 클래스 시스템 사용 (예 : mootools Class.Class ) Coffeescript에서 생성 처음에는 Javascript로 클래스 기반 코드를 작성하는 경향이 있었고 그것에 크게 의존했습니다. 그러나 최근 에는이 클래스 …

12
절차 적 프로그래밍에 비해 객체 지향 프로그래밍의 이점은 무엇입니까?
C와 같은 절차 언어와 C ++과 같은 객체 지향 언어의 차이점을 이해하려고합니다. 나는 C ++을 사용한 적이 없지만 두 사람을 구별하는 방법에 대해 친구들과 논의했습니다. C ++에는 객체 지향 개념뿐만 아니라 변수 정의를위한 공용 및 개인 모드가 있다고 들었습니다 .C에는없는 것들. Visual Basic.NET에서 프로그램을 개발할 때 이것들을 사용하지 않아도됩니다. 이것들의 …

11
C ++에서 모든 객체의 기본이 권장되지 않는 이유
Stroustrup은 "모든 클래스 (객체 클래스)에 대한 고유 한 기반을 즉시 발명하지 마십시오. 일반적으로 대부분 / 대부분의 클래스를 사용하지 않고도 더 잘 수행 할 수 있습니다." (C ++ 프로그래밍 언어 제 4 판, 1.3.4 절) 모든 것을위한 기본 클래스가 일반적으로 나쁜 생각 인 이유는 무엇이며 언제 만드는 것이 합리적입니까?

4
많은 소프트웨어 개발자가 개방 / 폐쇄 원칙을 위반하는 이유는 무엇입니까?
많은 소프트웨어 개발자 가 업그레이드 후 응용 프로그램을 손상시키는 기능 이름 변경과 같은 여러 가지 사항을 수정 하여 개방 / 폐쇄 원칙 을 위반하는 이유는 무엇 입니까? 이 질문은 React 라이브러리 의 빠른 버전과 지속적인 버전을 마친 후 제 머리로 뛰어 넘습니다 . 짧은 기간마다 구문, 구성 요소 이름 등이 …

7
왜 개인 정적 메소드가 있습니까?
방금 내가 가진 질문을 정리하고 싶었습니다. 개인 가시성이있는 일반적인 방법과 달리 개인 정적 방법을 사용하는 요점은 무엇입니까? 정적 메소드를 사용하면 클래스의 인스턴스없이 호출 할 수 있다는 장점이 있다고 생각했을 것입니다. 그러나 비공개이기 때문에 정적이라는 점이 있습니까? 내가 생각할 수있는 유일한 이유는 객체 수준이 아닌 클래스 수준의 방법을 개념적으로 이해하는 데 …

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