小编tou*_*ano的帖子

在NodeJS中创建对象的推荐方法是什么?

我正在构建request模块的复合,但是我不确定在JS for Node中构建对象的最佳实践是什么.

选项1:

function RequestComposite(request) {
  return {
    get: function (url) { return request.get(url); }
  }
}
var comp = RequestComposite(request);
Run Code Online (Sandbox Code Playgroud)
  • 注意:我知道我应该以异步方式调用CB,但为了便于解释,我将其返回...

选项2:

function RequestComposite(request) {
  this.request = request;
}

RequestComposite.prototype.get = function (url) { return this.request.get(url); };
var comp = new RequestComposite(request);
Run Code Online (Sandbox Code Playgroud)

选项3:

var RequestComposite = {
  init: function (request) { this.request = request; },
  get: function (url) { return request.get(url); }
}
var comp = Object.create(RequestComposite).init(request);
Run Code Online (Sandbox Code Playgroud)

我试图找到自己的方式,但是我对如何使用对象更加困惑...

如果我想为浏览器使用对象,答案会有所不同吗?

谢谢.

javascript performance node.js javascript-objects

31
推荐指数
2
解决办法
6万
查看次数

域驱动设计和IoC /依赖注入

我现在正在尝试应用我对DDD的了解,我对Domain模型中依赖关系的流程有点困惑.

我的问题是:

  1. 企业是否应该了解域中的工厂,存储库,服务?
  2. 存储库是否应该知道域中的服务?

困扰我的另一件事是当我想要添加集合并将实体添加到集合时如何处理集合.

假设我正在开发一个简单的CMS.在CMS中,我有一个包含标签实体的文章实体和标签集合.

现在,如果我想添加一个新标签的关系.有什么更好的方法呢?(PHP中的示例)

$article->tags->add(TagEntity);
$articleRepository->save($article);
Run Code Online (Sandbox Code Playgroud)

或者我可以用服务来做.

$articleService->addTag($article, TagEntity);
Run Code Online (Sandbox Code Playgroud)

你怎么看?

谢谢.

dependencies domain-driven-design dependency-injection inversion-of-control

13
推荐指数
3
解决办法
8503
查看次数

大头痛:CodeIgniter或定制框架,你有什么想法?

如果您想开发一个WebApp,您知道它将随着时间的推移而扩展并变得越来越大,您会使用CodeIgniter还是您定制的框架?

您使用开源框架的理由是什么?您反对它的论点是什么?

以下是我的想法: CodeIgniter Pros

  • 出色的文档 - >更容易在团队中工作.
  • 所有的开发时间都投入到业务逻辑中.
  • 没有重新发明轮子

CodeIgniter缺点

  • 如果我想要成长,不确定它的可扩展性
  • 麻省理工学院许可证 - 不确定它的含义,但如果我想按照许可证销售我的应用程序,我不确定我是否能够这样做.

自定义编码的Framkework Pros

  • 可扩展性.我可以决定它将如何发展.
  • 我拥有代码
  • 灵活的设计.

自定义编码框架缺点

  • 需要记录它,以便其他人能够进行协作.
  • 需要投入时间来维护框架
  • 意外的错误/错误

你对此有何看法?我的大脑告诉我要使用CodeIgniter,我的心告诉我要构建自己的框架.

php codeigniter

10
推荐指数
2
解决办法
3915
查看次数

如何编写用户故事以获取技术实现细节?

我正在尝试以更有条理的方式工作并开始采用用户故事.

我想我误解了如何将用户故事用于技术方面.

假设我正在编写一个应用程序代码,该应用程序可以为我提供Google中某个关键字的网站排名.

用户故事就像这样:

作为互联网营销人员,
我想知道我的网站在哪里为关键字排名
所以我会知道我的SEO工作是否有效

现在这很简单,以用户为中心......但是,如果我需要将代理引入循环,会发生什么.

一方面,Proxies是技术实现细节,另一方面,代理是Internet Marketer域的一部分.

我该如何制作这样的故事?

作为互联网营销人员,
我想在Google搜索时使用代理商
这样我们就可以检查很多关键字而不会阻止我们

上面的场景对我来说听起来不对...也许我可以将它重写为:

作为一名互联网营销人员,
我希望能够一次检查很多关键词,
这样可以节省我的时间

这听起来更合适,但是我可以给出什么样的验收标准呢?尝试在一分钟内刮掉谷歌100次?是不是浪费时间?

这是另一种情况.当我想要实现的功能是代理可以在30秒内使用一次时,我应该如何制作用户故事?我不知道如何从以用户为中心的角度来解决这个问题......

我想做的另一件事是提出另一件事Role.Internet Marketer我可以说我们有一个叫做的角色,而不是以中心为中心Google Scraper.我可以说这Internet Marketer与...有关Google Scraper.

现在我可以写一个用户故事,如:

作为Google Scraper,
我想在每次搜索时更改代理,
因此Google不会禁止我

您对如何处理上述技术实施细节有什么看法?它还可以帮助将系统分解为模块......

tdd bdd agile user-stories agile-project-management

6
推荐指数
1
解决办法
1951
查看次数