小编mot*_*sch的帖子

59
推荐指数
5
解决办法
18万
查看次数

表单提交执行JavaScript最佳实践?

我希望在提交表单时运行JavaScript函数.问题在于,在提交表单时,会重新加载页面,并将表单值作为GET参数附加到URL.我希望它保留在当前页面上并且只运行JavaScript函数.

我想知道最佳做法(或你做了什么)以避免重新加载页面和参数.

html javascript forms

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

指针数组的指针

我有一个int指针数组,int* arr[MAX];我想将其地址存储在另一个变量中.如何定义指针数组的指针?即:

int* arr[MAX];
int (what here?) val = &arr;
Run Code Online (Sandbox Code Playgroud)

c arrays pointers

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

EAA中P的域模型和服务层模式

在企业应用程序架构模式中,Martin Fowler讨论了组织域逻辑的两种模式:域模型服务层.域模型模式是"纯OOP"方法,其中模型(可能使用ORM从数据库中查找的那些对象)包含业务逻辑(尽管可能仅委托给另一个类中的逻辑).

示例域模型

服务层模式类似于域模型模式,但前面有一个薄层,包含可以执行的业务操作.在MVC中,控制器主要与服务层交互.我相信大多数精心设计的MVC Web应用程序都使用这种模式.

服务层示例

现在,我的问题.Martin建议域模型方法是面向对象的方法,因此更好.根据我的经验,在实践中实施非常困难(见:不可能).

以上面第一个图中给出的例子为例.有两个"实体" ContractProduct.这些使用映射器持久保存到数据库.在这个例子中,有一个RecognitionStrategy.Martin在实体本身中提出了委托此策略的方法,该策略包含实际的业务逻辑; 客户端使用contract.calculateRecognitions或执行此计算contract.recognizedRevenue(someDate).在实现类似设计时,我通常将客户端接口编写为strategy.calculateRecognitions(contract)strategy.recognizedRevenue(contract, someDate).这使得服务层成为协调战略和合同所必需的.使用的具体策略注入服务.

从设计的角度来看,Martin的方法肯定更具吸引力,但围绕设置的工作要困难得多:

  1. 在实例化a时传递策略Product是一种痛苦.您需要Product通过一个使用具体服务的工厂创建s,然后在创建它时将其传递给实体.
  2. 对数据库访问的细粒度控制较少.根据ORM设置,Contract委托Product可以执行查询Product.Product当我们加载a Contract但不打算调用时,在mapper(或ORM)中贪婪地加载s可能过于热心contract.calculateRecognitions().我的方法为我们提供了更细粒度的控制,因为服务具有数据库抽象层的知识,而实体则不应该知道.

我确信在实践中还有更多的痛点,我在这里没有列举.

Martin的方法有哪些具体优势可能说服我使用纯数据模型模式?

design-patterns architectural-patterns service-layer anemic-domain-model

13
推荐指数
2
解决办法
6366
查看次数

学说2:在复杂关系中拯救实体

我的学说实体内有以下关系:

FavoriteRecipe

/**
 * @ManyToOne(targetEntity="User", inversedBy="favoriteRecipes")
 */
private $user;

/**
 * @ManyToOne(targetEntity="Recipe", inversedBy="favoriteRecipes")
 */
private $recipe;
Run Code Online (Sandbox Code Playgroud)

食谱

/**
 * @OneToMany(targetEntity="FavoriteRecipe", mappedBy="user")
 */
private $favoriteRecipes;
Run Code Online (Sandbox Code Playgroud)

用户

/**
 * @OneToMany(targetEntity="FavoriteRecipe", mappedBy="user")
 */
private $favoriteRecipes;
Run Code Online (Sandbox Code Playgroud)

在我的一个控制器中,我有以下代码:

$favoriteRecipe = new \Entities\FavoriteRecipe();
$favoriteRecipe->setRecipe($recipe);
$favoriteRecipe->setUser($user);
$this->_em->persist($favoriteRecipe);
$this->_em->flush();
Run Code Online (Sandbox Code Playgroud)

但是这会抛出以下消息的异常:

通过未配置为级联持久操作的关系找到新实体:Entities\User @ 00000000408bd010000000007cb1380e.明确保留新实体或在关系上配置级联持久操作.

如何正确创建和保存FavoriteRecipe实体?

php one-to-many doctrine-orm

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

如何断言使用ScalaTest和ScalaMock永远不会调用mocked方法?

我正在使用ScalaTest 2.0和ScalaMock 3.0.1.我怎么断言从未调用过模拟特征的方法?

import org.scalatest._
import org.scalamock._
import org.scalamock.scalatest.MockFactory

class TestSpec extends FlatSpec with MockFactory with Matchers {

  "..." should "do nothing if getting empty array" in {
    val buyStrategy = mock[buystrategy.BuyStrategyTrait]
    buyStrategy expects 'buy never
    // ...
  }
}
Run Code Online (Sandbox Code Playgroud)

unit-testing scala mocking scalatest

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

Zend_Validate_EmailAddress与filter_var(...,FILTER_VALIDATE_EMAIL)

Zend_Validate_EmailAddressfilter_var(..., FILTER_VALIDATE_EMAIL),从而验证电子邮件地址和为什么当是更好?

php zend-framework email-validation zend-validate filter-var

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

将图像裁剪为特定比例的算法

我需要一个算法,给定图像的宽度、高度和目标比率,将计算从图像两侧剃掉的像素数以达到该比率,比率在图像区域中具有最小的变化

如何实现这样的算法?

编辑

对不起,我原来的问题不一致;我已经修改了它。

algorithm

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

基于C++中动态生成的数字对列表进行排序

我有一个对象列表(在这种情况下是"Move")我想根据他们的计算评估进行排序.所以,我有List和一堆与列表中的元素"关联"的数字.我现在想要使用具有最低关联数字的第一个元素和具有最高关联数字的最后一个元素对List元素进行排序.一旦物品订购,我可以丢弃相关的号码.我该怎么做呢?

这是我的代码看起来像(亲切):

list<Move> moves = board.getLegalMoves(board.turn);

for(i = moves.begin(); i != moves.end(); ++i)
{
    //...
    a = max; // <-- number associated with current Move
}
Run Code Online (Sandbox Code Playgroud)

c++ sorting

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

Java:使用包的约定?

我来自PHP背景,由于过去缺少名称空间,我使用了Zend Framework样式的"包".例如,如果我有一个抽象类Player和子Player_Human,Player_DumbComputer,Player_Minimax等,我会将Player放在主目录中并将其子项放在目录/ Player /中.它试图在Java中做类似的事情,但我得到了一个名字冲突 - 我有一个包blah.Player和一个类blah.Player.我该如何避免这种情况?关于这个的常见做法是什么?

java package

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

如何阻止光标从上/下键跳到文本框的开头/结尾?

使用JavaScript和jQuery按下向上或向下箭头键时,如何防止光标跳到文本框的开头或结尾?

javascript jquery

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

C新手:帮助简单功能

剧透:我是C的绝对初学者.我很快就把这个程序扔到了一起来测试我的知识,但是我的编译器给了我错误.有什么问题,为什么?

#include <stdio.h>

void main()
{
    char *string = "abcdefghi";

    printf("%s\n\n", string);

    printf("%s\n\n", substr(string, 1, 2));
}

char * substr(char *string, int start, int length)
{
    int i;
    char *temp;

    for(i = 0; i < length; i++)
    {
        temp[i] = string[i+start];
    }

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

编辑:

对不起,这就像凌晨1点,我一直试图解决这个问题.

错误是:

main.c: In function ‘main’:
main.c:9: warning: format ‘%s’ expects type ‘char *’, but argument 2 has type ‘int’
main.c: At top level:
main.c:12: error: conflicting types for ‘substr’
Run Code Online (Sandbox Code Playgroud)

c

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