«object-oriented» 태그된 질문

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

12
코드 작성 방법의 점진적인 변화가 시스템 성능에 영향을 미쳤습니까? 내가 신경 써야 할까?
TD; DR : 내가 묻는 것에 대해 약간의 혼란이 있었으므로 여기에 질문의 원동력이 있습니다. 나는 항상 그 질문이 무엇인지 생각했습니다. 원래 잘 표현하지 않았을 수도 있습니다. 그러나 의도는 항상 " 모 놀리 식 단일 단위, 한 곳에서 모든 것을 수행하는 것, 하나의 파일, 단단히 결합 된 "코드 보다 본질적으로 느리게 …

3
OO에서 전달되는 메시지는 무엇입니까?
저는 주로 C ++, C # 및 Java에서 OO 프로그래밍을 공부했습니다. 캡슐화, 상속 및 다형성에 대한 이해 (이 사이트에서 많은 질문을 읽음)를 잘 알고 있다고 생각했습니다. 여기에 팝업되는 것으로 보이는 것은 "메시지 전달"이라는 개념입니다. 분명히 이것은 오늘날의 주류 언어로 OO 프로그래밍하는 동안 사용되지 않지만 Smalltalk에서 지원되는 것입니다. 내 질문은 : …
35 java  c#  c++  object-oriented 


11
객체 지향 프로그래밍의 장점
참고 :이 질문은 몇 달 전에 쓴 블로그 게시물 에서 편집 된 발췌 부분입니다 . Programmers.SE 에 대한 의견 에 블로그 링크를 배치 한 후 누군가가 질문에 대한 답변을 얻을 수 있도록 여기에 질문을 게시하도록 요청했습니다. 사람들이 Google에 '개체 지향 프로그래밍을 얻지 못했습니다'라고 입력하는 것처럼 보이므로이 게시물이 가장 인기 가 …

3
Java 개발에는 일반적으로 C # /. NET보다 더 많은 서브 클래 싱이 포함됩니까?
최근에 Android 개발을 살펴보기 시작했습니다. 이것은 Java 소프트웨어 개발의 세계로 다시 돌아 왔습니다. Java로 마지막으로 작업했을 때, 나는 지금 (나는 생각하는 것)만큼 OOP를 이해하지 못했다는 것을 인정할 것이다. 내 경력에서 주로 C #을 사용하면서 상속이 Java 및 C #을 사용하는 방식에 놀라운 차이가 있음을 알았습니다. C #에서는 대부분의 상황에서 상속을 …

2
확장 성이 뛰어난 클래스에서 사용하기에 Bloch의 빌더 패턴을 개선하는 방법
나는 Joshua Bloch의 Effective Java book (2 판)에 크게 영향을 받았으며 아마도 내가 읽은 프로그래밍 책보다 더 많은 영향을 미쳤을 것입니다. 특히 그의 빌더 패턴 (항목 2)이 가장 큰 영향을 미쳤습니다. Bloch의 빌더가 지난 10 년 동안의 프로그래밍보다 몇 달 더 멀어 졌음에도 불구하고 여전히 같은 벽에 부딪 히고 있습니다. …

6
수업에서 '최종'을 사용하는 것이 왜 그렇게 나쁜가?
PHP OOP 레거시 웹 사이트를 리팩토링하고 있습니다. 클래스에 '최종'을 사용하여 ''(을) 시작하려고합니다 make it explicit that the class is currently not extended by anything. 수업에 오면 많은 시간을 절약 할 수 있으며 protected속성이나 메서드의 이름을 바꾸거나 삭제하거나 수정할 수 있는지 궁금합니다 . 내가하면 정말 클래스를 확장 할 그냥하는 최종 키워드를 …

5
파이썬 믹스 인은 안티 패턴입니까?
나는 pylint다른 정적 분석 도구가 모든 것을 알지 못한다는 것을 알고 있으며 때로는 그들의 조언에 불복종해야합니다. (이것은 conventions 뿐만 아니라 다양한 메시지 클래스에 적용됩니다 .) 내가 같은 수업이 있다면 class related_methods(): def a_method(self): self.stack.function(self.my_var) class more_methods(): def b_method(self): self.otherfunc() class implement_methods(related_methods, more_methods): def __init__(self): self.stack = some() self.my_var = other() …

1
메소드와 속성에 대한 일반적인 단어는 무엇입니까?
클래스 다이어그램에서 각 클래스는 메소드와 속성을 포함합니다. 내용이나 항목과 같은 일반적인 것 외에 두 가지를 모두 설명하는 올바른 단어는 무엇입니까? 문맥: Orange 클래스는 Fruit 클래스를 확장하고 그 내용을 상속합니다 . 여기서 stuff = 메소드와 속성 모두에 대한 단일 단어


10
“Child x = new Child ();”대신“Parent x = new Child ();”가 후자를 사용할 수 있다면 나쁜 습관입니까?
예를 들어, 다음과 같은 조각을 만드는 코드를 보았습니다. Fragment myFragment=new MyFragment(); MyFragment 대신 변수를 Fragment로 선언합니다. MyFragment는 Fragment의 자식 클래스입니다. 이 코드는 다음과 같아야한다고 생각하기 때문에이 코드 줄을 만족시키지 못했습니다. MyFragment myFragment=new MyFragment(); 어느 것이 더 구체적입니까? 또는 질문의 일반화에서 사용하는 것이 나쁜 습관입니까? Parent x=new Child(); 대신에 Child x=new …

8
열거 형 목록을 사용하는 것이 좋습니다?
현재 사용자가있는 시스템에서 작업하고 있으며 각 사용자에게는 하나 이상의 역할이 있습니다. User에서 Enum 값 목록을 사용하는 것이 좋습니다? 나는 더 나은 것을 생각할 수 없지만 이것은 기분이 좋지 않습니다. enum Role{ Admin = 1, User = 2, } class User{ ... List<Role> Roles {get;set;} }

4
최소한의 지식의 원리
나는 최소한의 지식 의 원리에 대한 동기를 이해 하지만 내 디자인에 적용하려고하면 몇 가지 단점을 발견합니다. Head First Design Patterns 책에서 찾은이 원칙의 예 중 하나 (실제로 사용하지 않는 방법)는이 원칙의 관점에서 다른 메소드 호출에서 반환 된 객체에 대해 메소드를 호출하는 것이 잘못되었다고 지정합니다. . 그러나 때로는 그러한 기능을 사용해야 …

4
절차 적 프로그래밍이란 정확히 무엇입니까? OOP와 정확히 다른 점은 무엇입니까? 기능적 프로그래밍과 동일합니까?
매우 객체 지향 (OO) 스타일 로 Java 로 프로그래밍하고 있습니다. OOP는 매우 직관적으로 제공되지만 다른 종류의 프로그래밍에 대한 지식은 거의 없습니다. 절차 적 프로그래밍 이란 정확히 무엇입니까 ? OOP와 정확히 다른 점은 무엇입니까? 함수형 프로그래밍 과 같은 것 입니까? 저는 OO가 아닌 모든 프로그래밍이 절차 적이라고 생각했습니다. 그러나 나는 이것이 …

3
가장 놀라운 원리는 무엇입니까?
프로그래밍에서 Least Astonishment의 원리는 무엇입니까? 이 개념은 좋은 API 디자인과 어떤 관련이 있습니까? 이것이 객체 지향 프로그래밍에만 적용 가능한가? 아니면 다른 프로그래밍 기술에도 스며 들어 있는가? 이것은 "방법에서 하나의 일을하고 잘하는 것"의 원칙과 관련이 있습니까?

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