小编Mer*_*ial的帖子

DAO设计模式

因此,假设我们想要使用DAO对象持久化几个实体.所以我们实现了正确的界面,所以我们最终得到了

class JdbcUserDao implements UserDao{
//...
}

class JdbcAddressDao implements AddressDao{
//...
}
Run Code Online (Sandbox Code Playgroud)

因此,如果我希望能够将持久性实现从JDBC切换到JPA(例如),反之亦然,我需要拥有JPAUserDao和JPAAddressDao ......意思是如果我有20个实体,并决定切换实现(使用DI容器),我必须在代码中用JPA切换每个Jdbc实现.

现在可能是我误解了DAO是如何工作的,但是......如果我刚才有

class JdbcDaoImpl implements UserDao,AddressDao{
//...
}
Run Code Online (Sandbox Code Playgroud)

然后,我将所有JDBC实现都放在一个类中,切换实现将是一件小事.此外,DaoImpl计数等于Dao接口的数量.为什么不通过实现(jdbc,JTA,JPA ......)对它们进行分组并将所有内容都放在一个类下?

提前致谢.

java dao design-patterns

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

Applovin 在启用测试模式的情况下返回错误代码 204

我正在将 Applovin 集成到 cocos2d-x 游戏中,插页式广告工作得很好。不过,我无法收到任何横幅(很可能是因为我的位置)。

\n\n

我浏览了 Applovin 文档并发现了这一点:

\n\n
\n

此错误意味着 \xe2\x80\x9cno fill\xe2\x80\x9d 或者我们的服务器无法根据广告请求的参数/情况返回广告。我们永远不会实现 100% 填充,因此正确管理此错误代码非常重要(请参阅处理 204 的最佳实践)。如果您正在测试您的应用程序并需要查看广告来验证您的集成,以下是 204 的可能原因及其相应的修复方法:

\n\n
    \n
  1. 广告商的需求受到您所在国家/地区、应用类别或手机特征的限制。修复:使用 UI 中的测试切换。
  2. \n
  3. ...
  4. \n
\n
\n\n

来源:http ://support.applovin.com/support/solutions/articles/1000119815--define-kalerrorcodenofill-204

\n\n

我想启用测试模式后,我应该能够收到测试广告,但仍然收到 204。

\n

ios applovin ios8

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

使用自定义动画时,iOS9上的edgesForExtendedLayout被忽略

edgesForExtendedLayout 使用实施自定义动画时,iOS9似乎忽略了目标视图控制器的UIViewControllerAnimatedTransitioning内容,因此内容最终出现在导航栏下方。知道为什么会这样吗?

我在https://github.com/nmarkovic04/CustomAnimationTest托管了一个示例。在8.4和9.1上运行它可以显示出区别,但是您很可能可以尝试其他任何8.x和9.x版本。

在XCode 7,Swift 2.0上运行。

屏幕截图

uiviewcontroller ios autolayout ios8 ios9

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

类函数指针作为参数

可能重复:
如何最好地将方法传递到同一类的方法中

我从未遇到过将函数指针作为参数传递的问题.这有效:

void functionThatTakesFPTR(void(*function)(int), int someValue){ 
    function(someValue);
   }

void printValue(int value){
    std::printf("%d",value);
}

int main(int argc, char** argv){
    functionThatTakesFPTR(&printValue, 8);

    return EXIT_SUCCESS;
}
Run Code Online (Sandbox Code Playgroud)

但是,传递对象功能却没有

void MyClass::setter(float value){ }

void MyClass::testFunction(void(*setterPtr)(float)){ }

void MyClass::someFunc(){
     testFunction(&(this->setter));
}
Run Code Online (Sandbox Code Playgroud)

对我来说,这看起来像传递这个地址而不是函数,我有点困惑.有可能这样做吗?是否可以传递另一个类(实例MyClass2)的对象的函数指针?

编辑:我得到的错误是"类'MyClass'没有成员'setter'".

c++ parameters pointers function

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