Backbone是一款前端MVC框架,对于前段开发人员,将会产生很多的便利,使得我们的前端代码更容易维护;但是无可否认,使用Backbone进行前端开发无疑增加了前端开发人员的工作量,因为了解并熟悉Backbone的机制是需要时间的。不过清晰的代码逻辑、高维护性依然使得很多项目采用了Backbone框架,对于稍微大一点的项目,前端业务逻辑可能比较复杂,代码组织可能比代码实现更加重要。
自弃者扶不起,自强者击不倒
Backbone是一款前端MVC框架,对于前段开发人员,将会产生很多的便利,使得我们的前端代码更容易维护;但是无可否认,使用Backbone进行前端开发无疑增加了前端开发人员的工作量,因为了解并熟悉Backbone的机制是需要时间的。不过清晰的代码逻辑、高维护性依然使得很多项目采用了Backbone框架,对于稍微大一点的项目,前端业务逻辑可能比较复杂,代码组织可能比代码实现更加重要。
因为 javascript 天生的缺点,语言本身没有集成命名空间的概念,所以变量名、函数名很容易发生冲突。大家想尽了各种办法,给 js 添加命名空间的概念,其中最成熟的套路,就是 RequireJS 这种。
总之,RequireJS 定义了(define)一个命名空间,在定义的时候,顺便引用了需要使用其他命名空间。我们注意到,按照 RequireJS 的术语,它把命名空间叫做“模块”。注意,在这里,RequireJS 定义的模块(命名空间)是匿名的,没有取名,这是和c#不同的地方。
但这个不要紧,因为其他 js 在用到你这个 js 的时候,一般是根据文件名称加载的,同时可以通过上面的 xx 这种方式,给模块(命名空间)自定义别名,所以,取不取名,还真不是关键。
很多系统都会有多重系统角色,并且每个角色的权限都是不一样的,进行权限管理是一件非常复杂的事情,我这里只是对方法进行权限管理,将权限跟API一一对应起来,如果对这和API没有权限,就无法使用该API,当然这种方法级别的权限管理,范围还是太大,有待进一步细化。
具体的原理就是:使用权限码,假设我的使用的是128位的权限码,那都能设置128种方法的权限,如果需要更多,可以继续加。每一个API方法都对应唯一一个权限码,即当前位是1其余位都是0;每一个用户拥有一个128为的权限集,如果当前位对应1的话,就说明该用户可以操作这个API,否则就是无权限。
首先要在本地安装好Ruby环境,幸运的是OS X系统默认的已经可以运行Ruby了,因此我们只需要执行以下命令查看当前Ruby的版本.(如果未安装请参考ruby)
ruby –version