问题列表 - 第6333页

战略设计模式的确切定义是什么?

我曾与某人就战略模式的真正斗争而斗争,我需要专家来解决这个问题.

我们都同意策略模式允许在运行时交换类的内容(例如,行为),同时保持相同的接口.然而,她的论点是"为了[算法]成为一种策略,你必须得到相同的结果".我的论点是,交换"算法"或类的逻辑可能意味着被覆盖的操作的结果是不同的,但它仍然符合策略模式的目的,意图(和分类).

她的代码示例带有注释:


根据您的定义,类的任何子类都是策略.它们具有相同的方法定义(签名),因此可以互换.

Interface Strategy
{
    DoArithmatic(int[] a)
}

Class A : Strategy
public int DoArithmatic(int[]a)
{
     int temp = 0;
     for(int i =0; i< a.length; i++)
          temp += a[i]
}

Class B : Strategy
public int DoArithmaticB(int[]a)
{
     int temp = 0;
     for(int i =a.length -1; i>-1; i--)
          temp += a[i]
}

Class C : Strategy
public int DoArithmatic(int[]a)
{
     int temp = 0;
     for(int i =0; i< a.length; i++)
          temp -= a;
}

int[] a = { …
Run Code Online (Sandbox Code Playgroud)

oop design-patterns strategy-pattern

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

如何获取表存储信息

SQL Server Edition:SQL Server 2005 w/SP3和2008

是否有内置的SQL Server存储过程将检索以下信息?或者DMV(动态管理视图)也会很棒.

我主要感兴趣的是如何专门找出表格的FILEGROUP数据.但是如果有一个sproc会返回以下所有结果会更好.

替代文字

顺便说一下,是否有任何文档显示如何检索SQL Server UI显示的数据的一对一匹配?

sql-server sql-server-2005 sql-server-2008

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

OpenVMS上的Java?

我们在OpenVMS Alpha和Integrity服务器上运行批处理文件.到目前为止,它们都是用COBOL编写的.您可以想象,有很多原因导致无法维持该过程.

与此同时,我们拥有一支使用Eclipse并且非常了解Java的开发人员团队.是否可以将Eclipse与OpenVMS一起使用?

java eclipse vms openvms

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

在Oracle中的一个ExecuteScalar中运行多个命令

我有一批sql语句,如...

插入.... ; 插入.... ; 删除.........;

等等

当我尝试对oracle执行它们时它给了我这个错误(ORA-00911无效字符)

现在我可以理解这是因为语句之间的分号,我在SQL Server上尝试了这个并且它起作用但是在Oracle中没有运气到目前为止.

有没有办法使用ExecuteScalar或其他一些函数对oracle运行多个语句?


DUPLICATE:如何使用.NET执行多个Oracle SQL语句

sql oracle executescalar ora-00911

6
推荐指数
1
解决办法
7700
查看次数

如何在PHP/MySQL中验证用户?

最近我学会了如何正确地为数据库添加用户名和密码.我的数据库是usersys,存储用户信息的表称为userdb.该表有两列 - 用户名(主要),密码.

注册表格运行良好,正确地将用户输入输入到数据库中,并检查用户的用户名是否已经在数据库中.

话虽如此,我问是否有人可以帮助我创建一个登录脚本.到目前为止,这就是我所拥有的:

$username = $_POST['username'];
$password = $_POST['password'];
$displayname = $_POST['username'];
$displayname = strtolower($displayname);
$displayname = ucfirst($displayname);           
echo "Your username: " . $displayname . "<br />";

mysql_connect("localhost", "root", "******") or die(mysql_error());
echo "Connected to MySQL<br />";

mysql_select_db("usersys") or die(mysql_error());
echo "Connected to Database <br />";

$lcusername = strtolower($username);
$esclcusername = mysql_real_escape_string($lcusername);
$escpassword = mysql_real_escape_string($password);

$result = mysql_query("SELECT * FROM userdb WHERE username='$esclcusername' AND     password='$escpassword'") or die(mysql_error());
$row = mysql_fetch_array( $result );
$validateUser = $row['username'];
$validatePass = $row['password']; …
Run Code Online (Sandbox Code Playgroud)

php authentication

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

mysthon 2.6+上的mysqldb(win32)

我目前正在使用python 2.6,我想使用win32 mysqldb模块.不幸的是,它似乎需要2.5版本的Python.有没有办法摆脱版本号中的这种不匹配,并使用python 2.6安装mysqldb?

python mysql

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

mysql_data_seek pdo 等效项

这相当于使用 pdo 对象的 mysql_data_seek?你可以给我一个例子吗?

谢谢!

php mysql pdo

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

"在对象浏览器中查看"的快捷键

有没有人知道在对象浏览器中是否有用于查看所选对象(在文本编辑器中)的快捷键?

我确信有一个,但我找不到它,或者似乎在键绑定对话框中工作的任何东西.

例如:

string test = string.empty;

if (string.isnullorempty(test))
{                          ^ caret here
    ...
}
Run Code Online (Sandbox Code Playgroud)

按下键将打开对象浏览器到System.String

keyboard-shortcuts visual-studio

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

如何在DUnit中使用FastMM启用内存泄漏跟踪?

在GUI测试运行器中,内存泄漏检查的菜单项处于非活动状态(变灰).是否有一个特殊的开关我还没有找到激活它们?

使用DUnit 9.4(来自Delphi 2009或来自sourceforge Subversion存储库)和FastMM4.92

delphi memory-leaks dunit fastmm

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

如何使用偏置进行浮点舍入(始终向上或向下舍入)?

我想要一个带有偏差的浮子,要么总是向下,要么总是向上.在我需要的代码中有一个特定的点,程序的其余部分应该像往常一样舍入到最接近的值.

例如,我想要舍入到最接近的1/10的倍数.最接近7/10的浮点数约为0.69999998807,但最接近8/10的数字约为0.80000001192.当我舍入数字时,这是我得到的两个结果.我宁愿以同样的方式对它们进行四舍五入.7/10应该舍入到0.70000004768并且8/10应该舍入到0.80000001192.

在这个例子中,我总是四处寻找,但我有一些地方,我想要总是向下舍入.幸运的是,我只是处理每个地方的正面价值观.

我用来绕线的是floor(val * 100 + 0.5) / 100.我用C++编程.

c++ floating-point rounding

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