小编Pre*_*hev的帖子

关于服务和@Transactional

如果我有一个服务类连续调用其他三个服务类,并且每个子服务都必须在某个时刻处理一个 DAO 对象,那么我该如何使包装器服务将它们全部包装到一个事务中?它会像用 @Transactional 注解包装器一样简单吗?如果 DAO 已标记为 @Transactional 该怎么办?

java spring dao hibernate transactions

4
推荐指数
1
解决办法
755
查看次数

设计可插拔的点和徽章系统

如何设计一个易于打开和关闭的可插拔点和徽章系统,以及易于变成自己的模块?

经过多次试验和错误后,我得出的结论是,点和徽章过于交织在应用程序的唯一业务逻辑中,它们无法以简单的方式外化(许多规则涉及理解应用程序的核心结构,这使得事物已经相当耦合)

我目前以简单的方式做所有事情 - 我在服务类的方法中外部化了所有业务逻辑(验证,持久性,游戏化,通知).然而,这些方法已经变得非常杂乱,我担心会很紧张.没有简单的方法来简单地关闭任何底层系统

java architecture modularity badge

4
推荐指数
1
解决办法
1114
查看次数

代理时如何将原始网址作为请求参数?

我想用一个Nginx实例将传入的请求代理到一个小的Java后端应用程序。我的想法是我希望将每个原始请求的uri作为请求参数包括在内,例如:

location / {
            proxy_pass http://localhost:9000?url=$request_uri;
        }
Run Code Online (Sandbox Code Playgroud)

但它不起作用

proxy nginx

4
推荐指数
1
解决办法
6413
查看次数

在CoffeeScript游戏引擎中使用mixins

我正在为Html5画布开发CoffeeScript游戏引擎.在我检查了一个非常简洁的CoffeeScript 实现后,我提出了使用mixins的"酷"想法.我想,通过开发一组基于mixin的组件来减少游戏对象通常提供的各种对象层次结构可能是一个非常酷的想法,每个组件都具有非常特定的功能.然后,在开发实际游戏时,可以通过基本上从一个组件开始并将其与一堆其他组件混合来动态构建独特的游戏对象.这减少了层次结构并允许频繁更改.

然后我想到了可能出现的可能冲突,例如,有一些组件定义了具有相同签名的方法.现在,我没有像以前那样兴奋.

我该怎么办?这是一个好方法吗?我仍然喜欢它,特别是因为JS的基础原型机制,它允许这种简单的方法来动态组合东西.

javascript mixins coffeescript

3
推荐指数
1
解决办法
1246
查看次数

对多个搜索字段使用通用查询约定

想象一下,我正在建立一个标签搜索.我的主索引类型称为Post,它有一个Hashtag项列表,标记为IndexedEmbedded.另外,每个帖子都有一个Comment对象列表,每个对象都包含一个Hashtag对象列表.

在搜索方面,我使用MultiFieldQueryParser,我传递了一长串可能的搜索字段,包括一些嵌套字段,如:

hashTags.valuecoments.hashTags.value

现在,有趣的事情发生在我想搜索某些东西时,比如#architecture.我找出了主题标签的位置,所以最简单的逻辑做法是将#architecture类型的查询转换为类型之一hashTags.value:architecture or comments.hashTags.value:architecture尽管可能,这是非常不灵活的.如果我想出另一个包含主题标签的字段怎么办?我也必须把它包括在内.

有没有一般的方法来做到这一点?

PS请记住,我正在搜索的根类型是Post,因为这是我想要实现的结果

java lucene hibernate hibernate-search hashtag

3
推荐指数
1
解决办法
646
查看次数

直接使用$ injector实例与获取依赖关系作为参数

在Angular中,从$ injector实例直接获取依赖项而不是参数是一种好的做法吗?

我有一个问题,我的控制器开始有很多依赖,所以而不是:

myApp.controller(['$scope', 'Dep1', 'Dep2', 'Dep3', function($scope, Dep1, Dep2, Dep3) {
    ...
}]);
Run Code Online (Sandbox Code Playgroud)

我会做:

myApp.controller(['$scope', '$injector', function($scope, $injector) {
    var Dep1 = $injector.get('Dep1');
    var Dep2 = $injector.get('Dep2');
    var Dep3 = $injector.get('Dep3');
}]);
Run Code Online (Sandbox Code Playgroud)

我发现它的功能相同,但参数的混乱程度要小得多.我想这会让我的组件稍微不那么容易测试,对吧?

你怎么看?

javascript angularjs

3
推荐指数
1
解决办法
96
查看次数

更改haxe对象的"this"范围.可能?

是否有可能从外部更改对象的"this"范围,非常类似于javascript?

我看到一个有趣的应用程序,其中一个可以创建一个容器对象,具有多个组件,每次组件自己修改一个属性时,它实际上隐式修改容器上的属性.

别弄错我的意思.我知道事件,绑定,观察者和不可以实现相同的效果.可能性确实无穷无尽.我只是对这种时髦的授权方式感到好奇.

delegates design-patterns haxe

2
推荐指数
1
解决办法
303
查看次数

基于 Java 的可读性类解析器

我想知道有哪些独立选项可用于解析普通网页并将其转换为易于阅读的格式,由 Pocket、Readability 和 Instapaper 等服务提供。

我主要是在寻找一个 Java 解析器库来包含在我的应用程序中,但总的来说,各种独立工具都受到赞赏。

谢谢。

java readability html-parsing

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

在Mongoose中设置post-find转换钩子的最简单方法

我是Mongoose的新手并且已经获得了一个扩展项目.我很快就掌握了前钩和后钩的概念,但是想知道为什么没有这样的钩子find,但只是为了savedelete.在检索到的对象上设置某些转换的最简单方法是什么?当然,我想在模型级别执行此操作,而不是每次检索某些对象时都这样做.

我找到了这个插件:https://www.npmjs.com/package/mongoose-post-find我认为它能很好地完成这项工作,但由于我对MongoDB很新,我想在这里问一下,确定我不会最终遇到性能问题.

mongoose mongodb node.js

2
推荐指数
1
解决办法
5046
查看次数

单元测试外观类

我有一个门面类,它实现了以下方法:getTotalNumOfItems(Query query)。该外观位于其他两个实现相同方法的服务类的前面。根据query参数的类型,Facade决定是否委托给其中一个服务或另一个。

我的难题是如何为立面编写单元测试,而无需知道项目数是如何得出的。否则,它将看起来像一个集成测试,而不是一个单元测试。

我已经使用Mockito提供了这两个服务的就地模拟版本。但是,当我为此编写一个单元测试时,我唯一可以测试的是“验证外观是否返回一个数字,等于一个模拟返回的数字(取决于查询类型)”。似乎没有一种方法可以比这更加不可知的方式来测试立面。

我在这里做错什么了吗?我应该担心吗?我猜想,立面的性质就是只能通过了解其委派的类来验证其效率。当然,我确保在两个服务中都为相同的方法编写单元测试。

java unit-testing facade mockito

2
推荐指数
1
解决办法
1728
查看次数