«object-oriented» 태그된 질문

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


10
"일반 데이터"클래스를 사용해야하는 이유가 있습니까?
레거시 코드에서 때때로 데이터 래퍼에 지나지 않는 클래스를 볼 수 있습니다. 같은 : class Bottle { int height; int diameter; Cap capType; getters/setters, maybe a constructor } OO에 대한 이해는 클래스는 데이터의 구조 와 해당 데이터에서 작동하는 방법이라는 것입니다. 이것은이 유형의 객체를 배제하는 것처럼 보입니다. 나에게 그들은 structsOO의 목적을 넘어서는 …

7
불변성과 객체 지향 프로그래밍
대부분의 OOP 언어에서 객체는 일반적으로 제한된 예외 세트 (예 : 파이썬의 튜플 및 문자열)로 변경 가능합니다. 대부분의 기능적 언어에서 데이터는 변경할 수 없습니다. 변경 가능한 객체와 변경 불가능한 객체는 모두 장점과 단점의 전체 목록을 제공합니다. 예를 들어 변경 가능하고 변경 불가능한 데이터가있는 (명시 적으로 선언 된) 스칼라와 같은 두 개념을 …

3
SOLID 원리 프로그래밍
시간이 지남에 따라 SOLID의 두 부분 인 “S”와“O”를 이해할 수있었습니다 . “O”– 상속 및 전략 패턴을 통해 공개 폐쇄 원칙을 배웠습니다. “S”– ORM을 배우면서 단일 책임 원칙을 배웠습니다 (지속성 논리는 도메인 개체에서 제외됨). 비슷한 방식으로 SOLID의 다른 부분 ( "L", "I"및 "D")을 배우는 가장 좋은 영역 / 작업은 무엇입니까? 참고 …

3
서비스 대신 컨트롤러 호출 저장소를 사용하는 것은 나쁜 습관입니까?
서비스 대신 컨트롤러 호출 저장소를 사용하는 것은 나쁜 습관입니까? 더 설명하기 위해 : 좋은 디자인 컨트롤러에서는 서비스 및 서비스 사용 저장소를 호출한다는 것을 알았습니다. 그러나 때로는 컨트롤러에서 논리가 필요하지 않고 db에서 가져 와서보기 위해 전달해야합니다. 그리고 서비스를 호출 할 필요없이 저장소를 호출하면됩니다. 나쁜 습관입니까?

9
“요요 문제를 피하십시오”가“원시 강박 관념”을 허용하는 타당한 이유입니까?
에 따르면 때 원시 집착하지 않는 코드 냄새입니까? String 객체 대신 우편 번호를 나타내는 ZipCode 객체를 만들어야합니다. 그러나 내 경험상, 나는보고 싶어한다 public class Address{ public String zipCode; } 대신에 public class Address{ public ZipCode zipCode; } 후자는 프로그램을 이해하기 위해 ZipCode 클래스로 이동해야한다고 생각하기 때문입니다. 그리고 모든 기본 데이터 …

8
아무것도 나타내지 않는 클래스-맞습니까?
응용 프로그램을 설계하고 있는데 SOLID와 OOP를 올바르게 이해하고 있는지 잘 모르겠습니다. 수업은 한 가지 일을하고 잘해야하지만 다른 한편으로는 우리가 다루는 실제 사물을 나타내야합니다. 필자의 경우 데이터 세트에서 기능 추출을 수행 한 다음 기계 학습 분석을 수행합니다. 세 개의 클래스를 만들 수 있다고 가정합니다. 특징 추출기 데이터 세트 분석기 그러나 FeatureExtractor …

8
수업의 실제 책임은 무엇입니까?
OOP에서 명사를 기반으로하는 동사를 사용하는 것이 합법적인지 궁금합니다. 이 기사 의 요점에 여전히 동의하지 않더라도이 훌륭한 기사를 발견 했습니다. 문제를 조금 더 설명하기 위해이 기사에서는 FileWriter클래스 가 없어야한다고 기술 하지만, 글쓰기는 액션 이므로 클래스 의 메소드 여야합니다 File. 루비 프로그래머가 FileWriter클래스를 사용하지 않을 가능성이 있기 때문에 (언제나 File.open파일에 액세스하는 방법 …

10
“사용 사례”,“사용자 사례”및“사용 시나리오”의 차이점은 무엇입니까?
"사용 사례", "사용자 사례"및 "사용 시나리오"의 차이점에 대한 정확하지만 간단하고 이해하기 쉬운 정의가 있습니까? 꽤 많은 설명이 있지만 지금은 한 문장 또는 두 문장의 차이점을 설명하는 사람이 없습니다 ... (예 : http://c2.com/cgi-bin/wiki?UserStoryAndUseCaseComparison 매우 길고 찾기 어려우며 토론으로 가득 함)

6
함수가 복잡하고 변수가 많은 경우 클래스를 만들어야합니까?
이 질문은 언어에 구애받지 않지만 완전히 다릅니다. 예를 들어, 객체 지향 프로그래밍 (OOP)은 파이썬 과는 달리 일류 함수가없는 Java 와 다릅니다 . 다시 말해서, Java와 같은 언어로 불필요한 클래스를 작성하는 데는 죄책감이 적지 만 Python과 같이 덜 언어적인 언어에는 더 나은 방법이 있다고 생각합니다. 내 프로그램은 여러 번 비교적 복잡한 …

5
매개 변수로 다른 함수에 함수를 전달하는 것은 나쁜 습관입니까?
AS3 애플리케이션이 백엔드와 통신하는 방식을 변경하는 과정에 있으며 이전 시스템을 대체하기 위해 REST 시스템을 구현하는 중입니다. 안타깝게도 작업을 시작한 개발자는 현재 장기 병가에 있으며 나에게 넘겨졌습니다. 나는 지난 주 정도 동안 그 일을 해왔고 시스템을 이해하지만 걱정되는 것이 하나 있습니다. 함수에 함수가 많이 전달되는 것 같습니다. 예를 들어 서버를 호출하는 …

9
TDD를 수행 할 때 로깅이 필요합니까?
Red, Green & Refactor주기를 수행 할 때는 항상 테스트를 통과하기위한 최소 코드를 작성해야합니다. 이것이 제가 TDD에 관해 배운 방식이며 거의 모든 책이 그 과정을 설명하는 방식입니다. 그러나 벌목은 어떻습니까? 솔직히 나는 실제로 복잡한 일이 발생하지 않는 한 응용 프로그램에서 로깅을 거의 사용하지 않았지만 적절한 로깅의 중요성에 대해 이야기하는 많은 게시물을 …

9
클래스를 추상 클래스로 선언해야하는 이유는 무엇입니까?
구문, 추상 클래스에 적용되는 규칙을 알고 있으며 추상 클래스의 사용법을 알고 싶습니다. 추상 클래스는 직접 인스턴스화 할 수 없지만 다른 클래스에 의해 확장 될 수 있습니다 그렇게하는 것의 장점은 무엇입니까? 인터페이스와 어떻게 다른가요? 하나의 클래스가 여러 인터페이스를 구현할 수 있지만 하나의 추상 클래스 만 확장 할 수 있다는 것을 알고 …

12
OOP 문서는 "getter"가 계산을 수행하는지 여부를 지정하지 않아야합니까?
우리 학교의 CS 프로그램은 객체 지향 프로그래밍에 대한 언급을 피하므로 직접 Bertrand Meyer의 객체 지향 소프트웨어 구성 을 보완하기 위해 독자적으로 독서를 해왔습니다 . Meyer는 클래스가 가능한 한 구현에 대한 많은 정보를 숨겨야한다는 점을 반복해서 지적합니다. 특히 그는 속성 (즉, 정적, 계산되지 않은 클래스의 속성)과 루틴 (함수 / 프로 시저 …

4
UML 클래스 다이어그램 표기법 : 연관, 집계 및 구성의 차이점
UML 클래스 다이어그램의 일부 표기법에 대해 혼란스러워합니다. 협회 가 무엇을 의미 하는지 잘 알고 있습니다. 한 클래스의 인스턴스가 작업을 수행하기 위해 두 번째 클래스의 인스턴스에 대해 알아야하는 두 클래스의 인스턴스 간 관계는 연관 관계입니다. 연관은 종종 클래스 A에 클래스 B의 인스턴스에 대한 참조 (필드)가 있음을 의미합니다. 그러나 Aggregation and Composition …

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