小编Ext*_*kun的帖子

在写上下文中不能使用方法返回值

我认为下面的代码应该可以工作,但它没有(编辑:现在适用于PHP 5.5+):

if (!empty($r->getError()))
Run Code Online (Sandbox Code Playgroud)

其中getError()无非是:

public function getError()
{
    return $this->error;
}
Run Code Online (Sandbox Code Playgroud)

但我最终得到了这个错误:

不能在写上下文中使用方法返回值

这是什么意思?这不仅仅是一个阅读?

php

461
推荐指数
4
解决办法
24万
查看次数

使用策略模式和命令模式

两种设计模式都封装了算法,并将实现细节与其调用类分离.我能辨别的唯一区别是策略模式接受执行参数,而命令模式则没有.

在我看来,命令模式要求所有执行信息在创建时都可用,并且它能够延迟其调用(可能作为脚本的一部分).

什么决定指导是使用一种模式还是另一种模式?

encapsulation design-patterns strategy-pattern command-pattern

118
推荐指数
6
解决办法
4万
查看次数

一种解决重叠矩形的算法?

这个问题实际上涉及翻滚,我将在下面概括如下:

我有一个2D视图,我在屏幕上的一个区域内有许多矩形.我如何展开这些盒子,使它们不会相互重叠,但只能用最小的移动来调整它们?

矩形的位置是动态的,取决于用户的输入,因此它们的位置可以是任何位置.

替代文字 图像显示问题和所需的解决方案

实际上,现实问题涉及翻车.

答案中的问题

  1. 矩形的大小不固定,并且取决于翻转中文本的长度

  2. 关于屏幕尺寸,现在我认为最好假设屏幕的大小足以容纳矩形.如果有太多的矩形并且算法没有解决方案,那么我只需要调整内容.

  3. "最小化"的要求更多的是为了美学而非绝对的工程要求.人们可以通过在两个矩形之间添加一个很大的距离来分隔两个矩形,但它作为GUI的一部分看起来不太好.我们的想法是使翻转/矩形尽可能接近其源(我将用黑线连接到源).所以要么'只为x移动一个'或'移动两个x'都可以.

language-agnostic algorithm graphics user-interface

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

Qt 4.5 - 发出信号是函数调用还是线程,它会阻塞吗?

我不确定Qt 4.5中信号/插槽机制的性质.发出信号时,它是阻塞函数调用还是线程?说这个

emit GrabLatestData();

// proceed with latest data
Run Code Online (Sandbox Code Playgroud)

在继续下一行之前,是否会解决所有信号/槽链?

qt qt4

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

C++ - 我什么时候应该在类中使用指针成员

在学习C++(和Direct3D,但前一段时间)时,让我感到困惑的一件事就是你应该在类中使用指针成员.例如,我可以使用非指针声明:

private:
    SomeClass instance_;
Run Code Online (Sandbox Code Playgroud)

或者我可以使用指针声明

private:
   Someclass * instance_
Run Code Online (Sandbox Code Playgroud)

然后在构造函数中使用new().

我明白,如果SomeClass可以从另一个类派生,COM对象或是ABC,那么它应该是一个指针.我还应该注意其他任何指导方针吗?

c++ pointers

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

什么时候使用View()和RedirectToAction

这个现有问题总结了我的问题的基础知识.那里最好的答案告诉了两种方法之间的区别.我正在寻找关于使用哪种方法的指南.

简而言之,我在控制器中有一个动作,它处理一个表格,然后显示处理结果.我什么时候应该使用return View()而不是return RedirectToAction("FormResult")

asp.net-mvc-3 asp.net-mvc-2

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

难以进行严格设计的单元测试吗?

我现在正在对一年中写的应用程序进行单元测试,然后才开始努力进行单元测试.我意识到我写的类很难进行单元测试,原因如下:

  1. 依赖于从数据库加载数据.这意味着我必须在表中设置一行才能运行单元测试(我没有测试数据库功能).
  2. 需要很多其他外部类才能使我测试的类达到其初始状态.

总的来说,设计似乎没有任何问题,只是它太紧密耦合(这本身就是一件坏事).我想如果我已经为每个类编写了自动化测试用例,因此确保我没有堆积额外的依赖关系或耦合使该类工作,该类可能更好地设计.

这个理由是否有水?你有什么经历?

unit-testing

18
推荐指数
4
解决办法
764
查看次数

是否可以绕过复杂查询的存储库模式?

这是我对DDD的理解:

  • 严格的存储库模式应该只实现get(),delete()和create(),以及get()的变体,其中可以搜索或检索整个集合
  • 每个聚合根通常都有一个存储库

(从研究中,我知道那些不是普遍接受的规范)

这里的问题是如何实现涉及许多聚合根的复杂查询.例如,我们有两个聚合根 - 产品和用户.如果我正在做一个列出用户购买了哪些产品的页面,那么我有一个跨越用户聚合和产品聚合的查询.

该查询应该如何实现?

  1. 我现在正在做的事实上是拥有这个查询的存储库和具有相关功能的查询(有些人会不同意并说存储库不是查询层).

  2. 仅使用产品和用户的存储库,获取所有记录并在内存中执行所有操作(这听起来不对)

  3. 让查询(LINQ或SQL)在服务内部,而不是使用与聚合相关联的存储库.

还有其他方法吗?

design-patterns domain-driven-design repository

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

在IIS 7.5上托管MVC应用程序时显示完整的错误消息

我在IIS 7.5上部署MVC3应用程序.

有一些错误只发生在IIS 7.5上,我试图调试它们.但是,每当触发错误时,都会显示默认的error.cshtml.

  1. 是否可以显示详细的错误消息,类似于在Visual Studio 2010中处理错误的方式?

  2. 使用OnHandleError属性时,如何将异常详细信息传递给error.cshtml?

iis-7.5 asp.net-mvc-3

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

OpenXML - 在Excel电子表格中写入日期会导致内容不可读

我使用以下代码将日期时间添加到电子表格中的列:

var dt = DateTime.Now;
r.AppendChild<Cell>(new Cell()
    { 
        CellValue = new CellValue(dt.ToOADate().ToString()),
        DataType = new EnumValue<CellValues>(CellValues.Date), 
        StyleIndex = 1,
        CellReference = header[6] + index
    });
Run Code Online (Sandbox Code Playgroud)

当我尝试在Excel 2010中打开该文件时,我收到错误

var dt = DateTime.Now;
r.AppendChild<Cell>(new Cell()
    { 
        CellValue = new CellValue(dt.ToOADate().ToString()),
        DataType = new EnumValue<CellValues>(CellValues.Date), 
        StyleIndex = 1,
        CellReference = header[6] + index
    });
Run Code Online (Sandbox Code Playgroud)

如果我注释掉这一行,一切都很好.

我在StackOverFlow上提到了simiiar问题,但它们基本上和我一样有相同的代码

.net c# openxml

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