2011-12-15 4 views
0

모듈에 상태가 있다는 것은 나쁜 생각입니까? 다음 루비 모듈

include 'printer' 

module A 

    def create(params) 
    temp = params 
    @object = Printer.init(temp) #this returns a hash with a collection of objects 
    end       #{<object1>,<object2>,...} 

end 

포함될 파일 프린터 init라는 클래스 메소드를 호출하는 것에 의해 해시를 리턴 Printer라는 클래스가 ... 만들고 적절한 메소드 호출시에 해시에서 오브젝트를 기억 .

첫 번째 :이 모듈의 상태는 ..입니까? 그렇다면 국가와 행동을 함께하는 것이 왜 바람직하지 않습니까? 불가피하지 않습니까?

+2

상태와 동작은 물론 혼합 할 수 있지만, 왜 대신 클래스의에 대한 모듈을 사용해야합니까? – riffraff

+0

모듈 또는 클래스를 사용하면 문제가됩니다 ... 내가 찾고있는 것은 모듈에서 데이터를 수정하는 데 사용되는 메소드뿐입니다. – pankajdoharey

+5

클래스를 사용하는 이유는 데이터를 유지하기 위해 단일 인스턴스를 사용할 수 있기 때문입니다. 이는 상태가 단일 코드 비트에 대해 로컬로 유지 될 수 있고 필요한 경우 다른 인스턴스를 사용할 수 있음을 의미합니다. 모듈에 데이터를 저장 한 경우 모든 코드가 단일 전역 공유 상태를 사용해야하므로 모듈화, 유지 관리 및 확장 성 문제가 발생합니다. – riffraff

답변

관련 문제