我们如何确定何时使用dependency injection或单例模式。 我读了很多网站,他们说:“使用dependency injection单身模式”。 但是我不确定我是否完全同意他们。 对于我的中小规模项目,我绝对可以看到直接使用单例模式。 例如logging器。 我可以使用Logger.GetInstance().Log(…)但是,而不是这个,为什么我需要注入我创build的每个类,logging器的实例?
有什么办法来dynamic创build所有的实例属性? 例如,我希望能够在构造函数中生成所有属性,并且在类实例化后仍然可以访问它们: $object->property 。 请注意,我想单独访问属性,而不是使用数组; 这里是我不想要的一个例子: class Thing { public $properties; function __construct(array $props=array()) { $this->properties = $props; } } $foo = new Thing(array('bar' => 'baz'); # I don't want to have to do this: $foo->properties['bar']; # I want to do this: //$foo->bar; 更具体地说,当我处理具有大量属性的类时,我希望能够select数据库中的所有列(代表属性)并从中创build实例属性。 每个列值应该存储在一个单独的实例属性中。
在阅读本文之前,我认为Ruby中的访问控制是这样工作的: public – 可以被任何对象访问(例如Obj.new.public_method ) protected – 只能从对象本身以及任何子类访问 private – 与保护一样,但该方法不存在于子类中 然而,看起来, protected和private行为是相同的,除了你不能用一个明确的接收者调用private方法(即self.protected_method工作,但self.private_method不)。 这是什么意思? 什么时候有一种情况,当你不希望你的方法调用一个明确的接收器?
是否有可能使用GridView在Android上创build像布局一样的pinterest? 我想使用GridView创build图像库,但我不确定是否是好的解决scheme。 我不想创build三个LinearLayouts (我认为这个解决scheme不好: android样式的listview或gridview ) 有任何想法吗 ;)?
我厌倦了在每个项目开始时打开Dia并创build一个数据库图表。 有没有一个工具可以让我select特定的表格,然后根据MySQL数据库为我创build一个数据库图表? 最好是允许我编辑后面的图,因为没有外键被设置… 这里是我用图解的方式描述的(请原谅可怕的数据devise,我没有devise它,让我们把重点放在图的概念上,而不是它为这个例子表示的实际数据;)): 看全尺寸图
我遇到了很多NoSQL数据库和SQL数据库。 衡量这些数据库的优缺点有多种参数,可扩展性就是其中之一。 水平和垂直缩放这些数据库有什么区别?
什么是解释dependency injection的好方法? 我在Google上find了几个教程,但是没有一个会假设读者只是一个Java初学者。 你如何解释这个新手?
随着jQuery等JavaScript框架使客户端Web应用程序更丰富,更实用,我开始注意到一个问题… 你如何保持这种有组织的? 把所有的处理程序放在一个地方,并为所有的事件写function? 创build函数/类来包装所有的function? 写得像疯了一样,只是希望它最好的工作? 放弃并获得新的职业? 我提到了jQuery,但它通常是任何JavaScript代码。 我发现随着线条的堆积,你将很难pipe理脚本文件或find你要找的东西。 我发现的最大的问题是有很多方法可以做同样的事情,很难知道哪一个是目前普遍接受的最佳实践。 是否有任何一般的build议,以保持您的.js文件作为您的应用程序的其余部分一样漂亮和整洁的最佳途径? 或者这只是IDE的问题? 那里有更好的select吗? 编辑 这个问题的目的是更多地关于代码组织,而不是文件的组织。 有一些非常好的合并文件或分割内容的例子。 我的问题是:什么是目前普遍接受的最佳实践方式来组织你的实际代码? 什么是你的方式,甚至推荐的方式来与页面元素进行交互,并创build不会相互冲突的可重用的代码? 有些人列出了名字空间 ,这是一个好主意。 什么是其他方式,更具体地处理页面上的元素,并保持代码组织和整齐?
对于相对简单的数据库要求来说,多态关系(PA)是相当满意的:让不同的表在一个共享表中有子logging。 经典的例子是一张带有评论logging的单表,适用于不同的不一定相亲的实体。 在这个问题上,马克做了很好的工作,展示了三种实现PA的常用方法。 我想要使用基表的方法,这在Bill Karwin的同样出色的答案中有更详细的描述。 一个具体的例子看起来像这样: 实体的主键在基表中引用相同的键值,并且注释表引用基表,因此观察到参照完整性。 这里的关键部分是实体表的主键具有不同的域。 它们是通过在基表中创build新logging并将生成的密钥复制到实体的主键来生成的。 现在我的问题是: 如果我想在现有的数据库中引入PA的参照完整性,那么这些数据库中将有实体产生自己的相互重叠的主键? 到目前为止,我看到两个select: 选项1: 每个实体保留自己的主键,但也得到一个备用的关键。 喜欢: 接近推荐的方法。 基表稳定。 不喜欢: 现有的实体必须修改。 很难find评论的拥有实体。 选项2: 每个实体在基表中都有自己的外键列。 这看起来像Mark的多列方法。 喜欢: 现有实体不受影响。 容易find评论的拥有实体。 不喜欢: 稀疏的列 基表不稳定:引入带有PA的新实体时需要修改 我倾向于选项1,可能与基本表中的字段“EntityName”进行双向查找。 哪个选项会更好。 或者是另一种更好的方法?
我知道使用SERIAL主键的PostgreSQL表结束了由PostgreSQL创build的隐式索引,序列和约束。 问题是如何重新命名这些隐式对象时重命名表。 以下是我最后想到的具体问题。 给定一个表,如 CREATE TABLE foo ( pkey SERIAL PRIMARY KEY, value INTEGER ); Postgres输出 NOTICE: CREATE TABLE will create implicit sequence "foo_pkey_seq" for serial column "foo.pkey" NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "foo_pkey" for table "foo" Query returned successfully with no result in 52 ms. PgAdmin III显示下表作为该表的DDL CREATE TABLE […]