我正在开发符合bool move(int tile)
{
int temp;
int didSwap;
int blankRow;
int blankCol;
// search for blank tile
for (int row = 0; row < d; row++) {
for (int col = 0; col < d; col++) {
if (board[row][col] == 0) {
blankRow = row;
blankCol = col;
}
}
}
// check that tile is not too big or too small
if (tile > d * d - 1 || tile < 1) {
return false;
}
// search for blank tile
for (int row = 0; row < d; row++) {
didSwap = 0;
for (int col = 0; col < d; col++) {
if (tile == board[blankRow + 1][blankCol] &&
tile != board[d + 1][d]) {
temp = board[blankRow][blankCol];
board[blankRow][blankCol] = tile;
tile = temp;
didSwap = 1;
return true;
}
else if (tile == board[blankRow - 1][blankCol] &&
tile != board[d - 1][d]) {
temp = board[blankRow][blankCol];
board[blankRow][blankCol] = tile;
tile = temp;
didSwap = 1;
return true;
}
else if (tile == board[blankRow][blankCol + 1] &&
tile != board[d][d + 1]) {
temp = board[blankRow][blankCol];
board[blankRow][blankCol] = tile;
tile = temp;
didSwap = 1;
return true;
}
else if (tile == board[blankRow][blankCol - 1] &&
tile != board[d][d + 1]) {
temp = board[blankRow][blankCol];
board[blankRow][blankCol] = tile;
tile = temp;
didSwap = 1;
return true;
}
else {
return false;
}
}
}
return false;
}
(Java
)模式的Spring
/ Hibernate
/ CQS
个应用程序。
简单地说:
Query Command Separation
仅由domain model
使用,它描述了需要在域模型上执行的某些操作; Commands
的{{1}}完成,因此可以根据用例优化(使用QueryService
)每个查询。
域模型使用domain model
映射到projection
数据库。
我知道有关域与持久性模型之间分离的长期争论。但是,我确信现在Hibernate变得如此灵活,以至于你不必在领域模型上做出艰难的牺牲。这样,您就无法在域和持久性模型之间进行一对一映射。 此外,所有与数据库相关的内容都可以通过使用Layer Supertypes来抽象出来。
我的问题:
MySQL
中使用投影Hibernate
Hibernate
(或Query
),我实际上使用的是我的域模型而不是纯SQL。 这不是违反Criteria
模式...... QueryService
中使用纯SQL。有没有好的SQL框架可以让我在不使用域模型的情况下构建查询并轻松地将结果绑定到JavaBeans ?结果通常是图形,因此将这些结构轻松绑定到某些嵌套的JavaBean结构会很不错。