小编era*_*nga的帖子

在Django中使用api而不是Views

在Django中使用REST api而不是视图的主要优点是什么?

可以在REST api和Views(在一个应用程序中使用REST api,在另一个应用程序中使用Views)中混合使用吗?

或者我们是否需要为所有应用编写REST api?而不是混合REST和视图

django rest django-views tastypie

5
推荐指数
1
解决办法
855
查看次数

获取或更新的功能方式

我有一个缓存,并且有两个函数可以从缓存中获取项目并将项目放入缓存中。

当获取项目(从缓存)时,如果键不存在,我需要向其填充一个值并返回该值。

以下是示例代码

class CacheComp {
    cache = Map[String, Foo]

    get(id): Foo = {
        // case(id exists) => Return matching Foo

        // case(id not exists) => Create a Foo and update the cache with created Foo. Then return updated Foo
    } 

    put(id, Foo) = {
        // put element to the cache   
    }
}
Run Code Online (Sandbox Code Playgroud)

在这里我违反了get(id)功能的单一责任原则(SRP)。如何在不违反 SRP 的情况下做到这一点?我可以简单地将函数重命名为getOrUpdate(id). 但是有没有任何干净的函数式编程方法可以做到这一点?

functional-programming scala function-composition higher-order-functions

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