2013-04-28 2 views
1

두 가지 중 더 나은 것은
속성을 만들고 클래스의 메서드 내에서 전달하거나 개체를 매개 변수로 메서드에 전달합니까? 나는 두 개의 다른 메소드에 전달하고자하는 핸들러 클래스에 의해 반환 된 datamodel 객체 인스턴스를 가지고있다. 그래서 가장 좋은 접근법은 무엇인가? 클래스의 속성에 부과 한 다음이 두 메소드에 사용하거나 전달한다. 메서드에 매개 변수로 인스턴스를?속성을 사용하여 메서드에서 매개 변수를 전달하는 방법

+0

귀하가하고있는 일의 특성에 따라 다르며 유효한 옵션 일 수도 있습니다. – doublesharp

+0

나는이 모범 사례를 모범 사례 동료들에게 알릴 필요가있다. 내가 말했듯이, 다른 곳에서 물체를 가져 와서이 물체를 두 개의 다른 클래스로 다시 전달해야합니다. 그렇다면 가장 좋은 방법은 무엇일까요? 개체를 가져 와서 속성으로 저장 한 다음 매개 변수없는 메서드를 사용하여 다른 클래스를 업데이트하거나이 클래스의 인스턴스를 개체로 받아 들여 사용하는 메서드를 만듭니다. – SeriousSam

답변

2

개체가 예를 들어 데이터를 추출하기 위해 클래스에 의해 일시적으로 만 필요한 경우 메서드 인수로 전달합니다.

코드 세부 정보에서 한 걸음 물러나서 더 추상적 인 모양을 가져야합니다. 개체가 직접 목적이 없거나 클래스에 의미가 없으면 메서드 인수로 전달하는 것이 좋습니다. 객체가 클래스의 일부로 간주 될 수있는 경우 (즉, 클래스가 항상 필요하거나 많이 의존하는 경우) property을 사용하여 클래스의 일부로 볼 수있는 옵션이 될 수 있습니다.

다른 점은 속성을 설정하고 해당 속성을 사용하는 메서드를 호출하면 데이터가 작업과 분리된다는 것입니다. 내 말은,이 방법이 방법이 무엇인지, 그리고 어떤 데이터가 작동 하는지를 가려냅니다. 물론 이러한 방법의 올바른 명명을 통해이를 극복 할 수 있습니다. 다시 한 번 더 추상적 인 수준에서 사물을 구조화하는 가장 의미있는 방법 (즉, 클래스의 목적에 가장 근접한 방법과 실제로 수행중인 방법)을 찾으십시오.

다른 경우 이러한 개체는 기본/다른 클래스에 속할 수 있습니다. 즉, 현재 클래스는 해당 클래스를 전달할뿐입니다. 이 경우 문자 그대로 방법으로 전달해야한다는 것은 분명합니다.

+0

통찰력에 감사드립니다! 그에 따라 결정할 것입니다. – SeriousSam

관련 문제