Javascript NodeJS中的面向对象设计
我已经在NodeJS工作了一段时间,无法在其中绕开面向对象设计的概念。我能做的最好的事情是:Javascript NodeJS中的面向对象设计,javascript,node.js,oop,Javascript,Node.js,Oop,我已经在NodeJS工作了一段时间,无法在其中绕开面向对象设计的概念。我能做的最好的事情是: var SomeClass = function(){ var self = this; self.connect = function(){ // function code } // for events/callbacks raised in this class ...(someVar, self.onDataReceived) s
var SomeClass = function(){
var self = this;
self.connect = function(){
// function code
}
// for events/callbacks raised in this class
...(someVar, self.onDataReceived)
self.onDataReceived = function(data){
// do something with data
}
}
这对于自包含的代码很有效,但是当类必须相互交互时,我的代码组织就消失了
所以,我的问题是:
js不是一种组织代码的方法,而且,就目前而言,javascript本身并没有提供强大的OOP(有保证的接口、简单的继承、依赖注入等)
但是,它存在一个帮助您执行OOP的方法。我可以向您推荐一个框架,它是一个OOP框架,提供了一种强大的代码组织方式。Node.js不是一种组织代码的方式,而且,就目前而言,javascript本机不提供强大的OOP(有保证的接口、简单的继承、依赖项注入等)
但是,它存在一个帮助您执行OOP的方法。我可以向您推荐一种面向对象的框架,它提供了一种强有力的方式来组织代码。最后一个问题不适合这样做,因为它只会吸引意见。除非有人用研究来回答,但我认为这不会发生。你最好把它从你的帖子中删除。也许你的“类交互设计”是一团糟,而不是你的类代码?它们是如何相互作用的?这可能会给IMO带来一些启示,一般来说,JS被认为是一种方案/函数语言,而不是一种OO语言。因此,设计软件的方法不同,这个问题的基本前提是“这对自包含的代码很有效,但当类必须相互交互时,我的代码组织就消失了。”例如…?最后一个问题不适合这样做,因为它只吸引意见。除非有人用研究来回答,但我认为这不会发生。你最好把它从你的帖子中删除。也许你的“类交互设计”是一团糟,而不是你的类代码?它们是如何相互作用的?这可能会给IMO带来一些启示,一般来说,JS被认为是一种方案/函数语言,而不是一种OO语言。因此,设计软件的方法各不相同,这个问题的基本前提是“这对自包含的代码很有效,但当类必须相互交互时,我的代码组织就消失了。”例如。。。?