草庐IT

架构设计

全部标签

javascript - 追随者——mongodb 数据库设计

所以我正在使用mongodb,我不确定我是否有正确/最好的数据库集合设计来完成我正在尝试做的事情。可以有很多项目,用户可以用这些项目创建新组。任何用户都可以关注任何组!我不仅将关注者和项目添加到组集合中,因为组中可能有5个项目,或者可能有10000个(对于关注者也是如此),并且从研究中我认为您不应该使用未绑定(bind)数组(其中限制未知)由于性能问题,当文档由于其扩大的大小而必须移动时。(无论如何,在遇到性能问题之前,是否有建议的数组长度最大值?)我认为在以下设计中,一个真正的性能问题可能是当我想要获取用户关注的特定项目的所有组(基于user_id和item_id)时,因为那样我必须

javascript - 让 jsdoc 和 Crockford 的设计模式相处融洽

我正在使用DouglasCrockford的designpattern实现私有(private)、特权和公共(public)方法。它基本上看起来像这样(使用RequireJS):define(function(){returnfunction(){varthat={},_init=function(){//"constructor"},_privateFn=function(){return42;};that.publicFn=function(){return2*_privateFn();};_init(arguments);returnthat;};});但是,我无法获取jsdoc

javascript - 设计顺序 : Firefox, IE,还是两者兼而有之?

在编写新的javascript繁重的网站时,您会为哪个命令或Web浏览器编写代码?我可以看到这些可能的订单,但我不确定我最喜欢哪个:先为一个人编写代码并使其运行良好,然后开始与其他人一起测试并在我进行时修复错误。这将允许最快速的开发(至少对于Firefox),但我从经验中了解到,调试IE同时进行如此多的事情可能会很痛苦!同时为两者编写代码。换句话说,对于每个新功能,在继续之前确保它适用于两种浏览器。这似乎实际上需要更多时间,所以也许在Firefox中做一些功能,然后转移到IE来修补它们。你们都是做什么的?编辑1:要在此处回复几个答案。:@JQuery用法:出于某种原因,我没想到会有这种

javascript - Mongoose 设计模型中的嵌入式文档与引用?

假设我正在使用Node.js和Mongoose构建一个讨论论坛。一个用户可以有多个论坛,一个论坛可以有多个评论。用户也可以邀请其他用户加入论坛。因此,我的问题是关于使用引用或嵌入式文档的模型设计!如果我使用嵌入式文档,它看起来像:varComment=newSchema({...});varForum=newSchema({title:{type:String},content:{type:String},comments:[Comment],attendees:[User]});varUser=newSchema({name:{type:String},email:{type:Str

javascript - 在 Redux 架构中集成 React 和 OpenLayers

我们公司目前正在开发一种新的网络map解决方案。到目前为止,我们决定使用React构建应用程序和OpenLayers4.因为我们要使用Redux我们架构的模式将有一个保存应用程序状态的redux存储。这个栈我们面临的问题如下:map是我们应用程序的核心元素,它的实例需要传递给许多不同的组件。例如,在map上绘制要素的工具需要引用map实例,以便它可以将自己作为交互工具添加到其中。我们讨论了如何构建我们的应用程序以集成OpenLayers与React以最可靠的方式并最终采用两种不同的方法:我们讨论的第一种方法是在应用程序范围的redux存储中保存对map对象的引用,这样它就可以通过@co

javascript - JSON 设计最佳实践

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我设计了一个JSONrepresentationofamailboxsothatIcanlookupmailseasily,例如mailjson[UID].Body。但是在查看了Angularjs和Ember之后,模板化了MVCJS引擎,似乎JSON的格式应该是:[{"id":1,"body":"Blahblahblah..."},{"id":2,"body":"Moreblahfoobl

javascript - 为什么在 flux 应用程序架构中每个实体使用一个商店?

我在我正在进行的项目中使用了reactjs和flux架构。我对如何将嵌套数据正确分解为存储以及为什么要将数据拆分为多个存储感到有些困惑。为了解释这个问题,我将使用这个例子:想象一下您有项目的Todo应用程序。每个项目都有任务,每个任务都可以有注释。应用程序使用RESTapi检索数据,返回以下响应:{projects:[{id:1,name:"ActionRequired",tasks:[{id:1,name:"Gogroceryshopping",notes:[{id:1,name:"Checkshop1"},{id:2,name:"Alsocheckshop2"}]}]},]}虚构应

Javascript文件组织和设计

真正进入Web开发,特别是JS,所以我想知道在JS文件组织和职责委派方面的最佳实践是什么。我问这个是因为拥有这种结构对我来说很有意义:主页(PHP)(包括对中央JS文件的引用)MAINJavascript文件(包括对一个文件的引用,该文件仅包含命名空间或B类中的错误代码)虽然这对我来说很有意义,但我想知道我的观点是否错误,因为您不能自然地将一个JS文件包含到另一个文件中,除非您使用一些技巧(不,不是在谈论jQuery)。技巧可能意味着这不是简单地因为它不符合语言的最佳实践而完成的,但就跨域问题而言并非总是如此。因此,在我深入研究草率设计之前,我只是好奇你们是如何划分职责的,或者只是将所

javascript - 这种设计模式在 JavaScript/jQuery 中被称为什么?

我正在查看SlickGrid的JavaScript源代码.我注意到slick.grid.js具有以下结构:(function($){//Slick.Grid$.extend(true,window,{Slick:{Grid:SlickGrid}});varscrollbarDimensions;//sharedacrossallgridsonthispage//////////////////////////////////////////////////////////////////////////////SlickGridclassimplementation(available

javascript - 将基于类的设计应用于 JavaScript 程序是否是一种不好的做法?

JavaScript是一种基于原型(prototype)的语言,但它能够模仿基于类的面向对象语言的某些功能。例如,JavaScript没有公共(public)成员和私有(private)成员的概念,但通过闭包的魔力,它仍然可以提供相同的功能。类似地,方法重载、接口(interface)、namespace和抽象类都可以以一种或另一种方式添加。最近,由于我一直在使用JavaScript进行编程,我觉得我正在尝试将它变成一种基于类的语言,而不是按照它应该使用的方式使用它。似乎我在试图强制语言符合我的习惯。以下是我最近写的一些JavaScript代码。它的目的是抽象出一些涉及绘制到HTML5