标签: use-case

我如何从Java过渡到Clojure?

在发现Clojure之后,我花了最近几天沉浸其中.

哪些项目类型适用于Clojure上的Java,反之亦然,并且它们组合在一起?

您在Clojure之前从未尝试过的程序示例是什么?

java functional-programming clojure use-case

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

什么时候系统应该作为参与者包含在用例图中?

我正在为新系统制作一个用例图.我想知道什么时候系统应该作为一个演示者包含在用例图中?

谢谢.

uml use-case

27
推荐指数
3
解决办法
3万
查看次数

设计方法:用例驱动与域驱动

仅供讨论,对我而言,似乎有两种不同的术语实际上是在说同一件事.这两种设计方法之间是否有任何明显的差异?

architecture design-patterns domain-driven-design use-case

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

Scala不可变映射,何时可变?

我目前的用例非常简单,无论是可变的还是不可变的Map都可以解决问题.

有一个采用不可变Map的方法,然后调用第三方API方法,该方法也采用不可变Map

def doFoo(foo: String = "default", params: Map[String, Any] = Map()) {

  val newMap = 
    if(someCondition) params + ("foo" -> foo) else params

  api.doSomething(newMap)
}
Run Code Online (Sandbox Code Playgroud)

有问题的地图通常很小,最多可能有一个嵌入的案例类实例列表,最多几千个条目.因此,再次假设在这种情况下对于不可变的影响很小(即通过newMap val副本基本上有2个Map实例).

不过,它让我有点唠叨,复制地图只是为了得到一张新的地图,上面贴着几个k-> v条目.

我可以params.put("bar", bar)为我想要处理的条目变为可变等等,然后params.toMap为api调用转换为immutable,这是一个选项.但后来我必须导入并传递可变映射,与使用Scala的默认不可变映射相比,这有点麻烦.

那么,对于在不可变映射上使用可变映射的合理/良好实践的一般指导原则是什么?

谢谢

编辑 所以,看起来不可变地图上的添加操作接近恒定时间,确认@ dhg和@Nicolas断言没有制作完整副本,这解决了所呈现的具体案例的问题.

scala mutable map use-case immutability

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

用例概括与扩展

UML用例图允许两种看似等效的方式来表明给定的用例可能以几种不同的方式实现,即用例概括而不是用例扩展.我已经看到以下基本示例使用相同频率的任一方法建模,有时在单个源中.

用例泛化图像

用例扩展图像

在我看来,扩展是一种比一般化更弱的关系,因为基本情况的专用用例的直接替换必须是概括的,但不一定是扩展.

在我看来,泛化意味着需要多态实现,而扩展意味着要使用一些分支结构.

void makePayment(const PaymentDetails* pd)
{
   pd->pay();
}
Run Code Online (Sandbox Code Playgroud)

而不是

void makePayment(const PaymentDetails* pd)
{
   switch(pd->type)
   {
       case EFT:
                payViaEFT(pd); 
                break;
       case PAYPAL:
                payViaPayPal(pd); 
                break;
       case CREDITCARD:
                payViaCreditCard(pd); 
                break;
   }
}
Run Code Online (Sandbox Code Playgroud)

针对此类实现特定问题的建模是否过早的用例阶段?有更合适的UML图表.关于两者中的哪一个使用是否存在硬性规定?如果是,那么它是什么?

uml use-case

20
推荐指数
3
解决办法
2万
查看次数

你知道任何使用ZeroMQ的项目吗?成功和失败的故事都是有价值的

我有兴趣在一个项目中使用ZeroMQ,但我想听听其他人使用它的经验.我做了一些搜索,但发现只有mongrel2项目.您是否听说过其他使用它的项目?哪些公司在生产中使用ZeroMQ?

use-case zeromq

19
推荐指数
1
解决办法
4133
查看次数

'includes','extends'和'uses'有什么区别?

在用例图中,有什么区别<<includes>>,<<extends>><<uses>>?是<<includes>><<uses>>是一回事吗?

diagram uml use-case

19
推荐指数
3
解决办法
6万
查看次数

Instagram API权限被拒绝 - 用例无效?

我们最近创建了一个网络应用程序,邀请当地的高中体育迷分享他们在当地体育赛事中最喜欢的时刻.

我们允许用户从他们的设备,Facebook和Instagram上传照片和视频.之后这些照片和视频由网络访问者投票,而举办"获胜时刻"的学校获得奖品.

Instagram拒绝了我们对api权限的请求.他们说这是一个无效的用例:"无效的用例:您的提交说明,截屏和网站中描述的用例不是我们在平台上允许的有效用例.请参阅我们的权限审核和有效用例说明欲获得更多信息."

我这样做了,它似乎是一个有效的用例,"帮助个人与第三方应用分享他们自己的内容".

..否则,请将我转到stackoverflow提问.也许我在我的应用程序中错误地解释了用例?

有谁知道为什么这个申请会被拒绝?..或者我如何更好地解释我们的用例,以便他们看到它是有效的并批准我们的请求?

api permissions use-case instagram

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

我可以在SCRUM中使用用例图吗?

我正在与一个团队开始一个项目,我们正在使用SCRUM作为方法论.这是我第一次使用SCRUM.我们列出了我们的功能,并制作了我们的故事(用户故事和技术故事以及他们的任务).

我有一个严格的UML方法来启动任何开发项目,对我来说,在列出所有功能之后,下一步是让用户案例图让每个人都看到应用程序要做什么以及谁将与之交互.但是我的团队表示没有兴趣在SCRUM中使用UML.

我可以使用UML的用户图来表示SCRUM中的用户故事吗?SCRUM中可以使用哪些其他图表?(这可能是一个愚蠢的问题'因为我无法想象没有类图或序列图的应用程序,但我真的想看到SCRUM专家的建议)

谢谢.

scrum uml use-case

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

java动态代理与常规代理的有用性

我需要一些建议,动态代理比常规代理更有用.

我已经投入了大量精力来学习如何有效地使用动态代理.在这个问题中,抛开像AspectJ这样的框架基本上可以执行我们尝试使用动态代理实现的所有内容,或者例如CGLIB可以用来解决动态代理的一些缺点.

用例

  • 装饰器 - 例如,执行方法调用的日志记录,或缓存复杂操作的返回值
  • 坚持合同 - 即确保参数在可接受的范围内,并且返回类型符合可接受的值.
  • 适配器 - 在某个地方看到一些巧妙的文章,描述它是如何有用的.我很少遇到这种设计模式.

是其他人吗?

动态代理优势

  • 装饰器:记录所有方法调用,例如,

public Object invoke(Object target, Method method, Object[] arguments) {
         System.out.println("before method " + method.getName());
         return method.invoke(obj, args);
     }
}
Run Code Online (Sandbox Code Playgroud)

装饰器模式肯定是有用的,因为它允许所有代理方法的副作用(尽管这种行为是书籍 - 使用方面的例子..).

  • 合同:与常规代理相比,我们不需要实现完整的接口.例如,

public Object invoke(Object target, Method method, Object[] arguments) {
     if ("getValues".equals(method.getName()) {
         // check or transform parameters and/or return types, e.g., 
         return RangeUtils.validateResponse( method.invoke(obj, args) );
     }

     if ("getVersion".equals(method.getName()) {
         // another example with no delegation
         return 3;
     }
} 
Run Code Online (Sandbox Code Playgroud)

另一方面,合同只能避免实现完整接口的需要.然后,重构代理方法将无声地使动态代理无效.

结论 …

java proxy design-patterns use-case dynamic-proxy

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