我是DDD的新手,我正在考虑在我的项目中使用这种设计技术.
然而,DDD让我印象深刻的是这个想法有多么基本.与其他设计技术(如MVC和TDD)不同,它似乎不包含任何突破性的想法.
例如,我相信你们中的一些人会有同样的感觉,根聚合和存储库的想法并不新鲜,因为当你在编写MVC Web应用程序时,你必须有一个单独的主对象(即根聚合)包含模型层中的其他次要对象(即值对象和实体),以便将数据发送到强类型视图.
对我来说,DDD中唯一的新想法可能是
谁能告诉我,我是否错过了这里的任何东西?如果这就是DDD,如果我用上述2个新想法更新我现有的MVC应用程序之一,我可以声称它是TDD,MVC和DDD应用吗?
我在PDO语句中的ORDER BY子句中绑定参数时遇到问题.似乎没有将"orderBy"传递给查询,因为结果不是按照它们的预期排序的.当我使用诸如price查询中的列名 而不是参数时,结果按该列排序.代码是:
class Products {
const ORDER_BY_NAME='name';
const ORDER_BY_PRICE_PER_UNIT='price_per_unit';
const ORDER_BY_PRICE='price';
const ORDER_BY_MINIMUM_QUANTITY='minimum_quantity';
// function returns array of all products
public function getAllProducts($orderBy) {
$db=Registry::getVariable('db');
$pdoStatement=$db->prepare("SELECT name, minimum_quantity, price_per_unit, price, id FROM products ORDER BY :orderBy;");
$pdoStatement->bindParam(':orderBy', $orderBy, PDO::PARAM_STR);
$pdoStatement->execute();
return $pdoStatement->fetchAll(PDO::FETCH_ASSOC);
}
}
Run Code Online (Sandbox Code Playgroud)
后来我打电话给:
$products=new Products();
echo $products->getAllProducts(Products::ORDER_BY_PRICE);
Run Code Online (Sandbox Code Playgroud)
为什么不在命令中使用:orderBy参数?
我有一个简单的扩展方法,我想用它来添加项目数组.
public static T[] addElement<T>(this T[] array, T elementToAdd)
{
var list = new List<T>(array) { elementToAdd };
return list.ToArray();
}
Run Code Online (Sandbox Code Playgroud)
这工作正常,但是当我使用它时,我必须将数组设置为等于返回值.我看到我正在返回一个数组.我可能希望这种方法无效,但我希望添加该项目.有没有人对我需要做什么有任何想法,让这项工作按照我想要的方式进行?
而不是someArray = someArray.addElement(item),我只想做someArray.addElement(item),然后someArray准备好了.我在这里错过了什么?
我有一种情况:
一切都是开发人员想要提交项目.如果开发人员对相关文件进行了更改,那么它将被提交.但如果不是 - 开发者只更新到版本并且没有进一步更改 - 该文件将不会被提交,并且对项目的任何更新都将向您呈现gobbledygook asdfg-code文件.
问题:如果我只是'更新到修订'文件,如何在不手动编辑文件的情况下再次提交?
因此,我刚开始使用Rails,并且尝试使用Form创建一个Object(在我的情况下为book_loan)。关键是我可以通过单击一本书来获得此表单,因此我将book_id作为参数传递,例如localhost:3000 / loans / new?id = 1。
现在,我不希望用户能够在表单中设置书籍ID字段,因为我已经知道ID。所以我的问题是如何在表单中设置值。我一直在尝试类似的事情:
<% form_for(@loan) do |f| %>
<%= f.error_messages %>
...
<%= @loan.book_id = params[:id] %>
<%= f.submit 'Create' %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
没有任何成功。有人对我有提示吗?
好的情况就是这样:我有一个外部托管的CMS,它可以满足我们99%的需求.然而,在更高级的东西我注入我自己的CSS + JS并做魔术.我遇到的问题是从jQuery.ajax()调用加载一个简单的HTML页面.它似乎起作用,没有任何警告或错误被抛出; 但是在我的成功处理程序(IS运行)中,响应是空白的!
我一直在抓我的头整个上午试图弄清楚这一点,我能想到的是,唯一的事情是有事情做与跨域问题(即使它似乎工作).
注入的JavaScript:
$(document).ready(function() {
doui();
});
function doui() {
$.ajax({
url: 'http://apps.mydomain.com/css/feecalc/ui.htm',
cache: false,
success: ajax_createUI,
charset: "utf-8",
error: function(e) {
alert(e);
}
});
}
function ajax_createUI(data, textStatus) {
alert(data);
$("#ajax-content").html(data);
}
Run Code Online (Sandbox Code Playgroud)
我的ajax_createUI()成功处理程序被调用,textStatus是"成功"; 但是数据是空的.
此JS文件驻留@ http://apps.mydomain.com/css/js/feecalc.js然而CMS的网站(其中获取JS注入的话)所在@ http://www.mydomain.com/
我只是愚蠢或是一个看起来应该工作但却不是的错误?
是否可以在Visual Studio 2010中的计算机之间同步设置?我知道您可以通过导出设置然后将它们复制到另一台计算机或将它们放在投递箱或其他东西中来实现.所以我想知道是否有其他方法可以做到这一点?
我注意到内存激增,仪器中列出的负责调用者是img_data_lock和负责的库CoreGraphics.
我一直在读这个问题与缓存与未缓存的图像加载有关([UIImage imageNamed ...]和[UIImage imageWithData ...]之间的差异?)目前我的应用程序通过以下方式加载一系列图像imageNamed
替换imageNamed呼叫imageWithContentsOfFile似乎解决了这个问题.
有没有人有关于img_data_lock调用者的任何信息?如果有人imageNamed对内存造成这样的损失,为什么会有人使用?
我的显示屏顶部有一个ImageView,如下所示:
????????????????????????????????????????????????
? ImageView ???????????????? ?
? ? ? ?
? ? Actual image ? ?
? ? ? ?
? ? ? ?
? ? ? ?
? ???????????????? ?
????????????????????????????????????????????????
Run Code Online (Sandbox Code Playgroud)
在这下面,我有一系列的按钮和TextViews ..
我希望ImageView的高度根据屏幕的最大高度动态增加.我正在调整包含屏幕边缘底部按钮的布局,我希望屏幕的其余部分由上面的ImageView占用.
此外,由于ImageView包含居中图像,我还想设置最小高度,如果屏幕太小则无法显示图像视图和下面的按钮.
谢谢!
这可能吗?