확장하고 싶은 싱글 톤 클래스를 만들었습니다. 그것 (절반)은 클래스의 단일 인스턴스 만 생성한다는 점에서 작동하지만 서브 클래스에 추가 된 속성은 정의되지 않습니다. 나는 내 노드 응용 프로그램에서 다음을 사용하는 경우 이제coffeescript 싱글 톤 하위 클래스 생성 방법
Singleton = require('./singleton')
class Stinky extends Singleton
constructor: ->
var1 : 'var1'
module.exports = Stinky
:
는Stinky = require './stinky'
thing1 = Stinky.getInstance()
thing2 = Stinky.getInstance()
console.log "Thing var1: #{thing1.var1}"
getInstance() 메소드는 동작 여기
class Singleton
_instance = undefined
@getInstance: ->
if _instance is undefined
console.log 'no instance exists, so create one'
_instance = new _Singleton()
else
console.log 'an instance already exists.'
class _Singleton
constructor: ->
console.log 'new singelton'
module.exports = Singleton
그리고 서브 클래스 : 여기에 원래 싱글입니다 예상대로 var1은 정의되지 않았습니다. 내가 싱글 톤이 아닌 클래스에서 똑같은 일을한다면 잘 작동합니다. 감사.
'var1 :'var1 '은 오타가 있습니까? 'var1 ='var1 '또는 실제로는 @ var1 ='var1 '이어야합니까? – Sandro