Tag: devise原则

为什么dynamic打字通常与口译语言联系在一起?

简单的问题:我在C ++ / Java等编译语言和Python / Javascript等解释语言中进行了大量编程(专业和个人)。 我个人发现,当我使用静态types语言进行编程时,我的代码几乎总是更加健壮。 但是,我遇到的几乎所有的解释语言都使用dynamictypes(PHP,Perl,Python等)。 我知道为什么编译语言使用静态types(大部分时间),但我无法弄清解释语言devise中对静态types的厌恶。 为什么陡峭的断开? 它是解释型语言本质的一部分吗? OOP?

实现一个HashMap

如何去从头开始在C中创build一个HashMap? 将考虑什么参数,以及如何testing散列表有多好? 就像在你说你的哈希映射完成之前需要运行的基准testing用例一样。

你将如何在C#中实现“特质”devise模式?

我知道这个特性在C#中是不存在的,但是PHP最近添加了一个叫做Traits的特性 ,在我开始思考这个特性的时候 ,我觉得起初有点傻。 假设我有一个名为Client的基类。 Client有一个名为Name的单个属性。 现在我正在开发一个将被许多不同客户使用的可重复使用的应用程序。 所有客户都同意,客户应该有一个名字,因此它在基地级。 现在顾客A来了,说他也需要跟踪客户的体重。 顾客B不需要重量,但是他想跟踪身高。 客户C想要跟踪重量和高度。 随着性状,我们可以使重量和高度的特点: class ClientA extends Client use TClientWeight class ClientB extends Client use TClientHeight class ClientC extends Client use TClientWeight, TClientHeight 现在,我可以满足我所有客户的需求,而不会增加任何额外的费用。 如果我的客户回来后说:“哦,我真的很喜欢这个function,我可以吗?”,我只是更新类定义,包括额外的特质。 你将如何在C#中完成这个任务? 接口在这里不起作用,因为我需要属性和任何关联方法的具体定义,我不想为每个类的版本重新实现它们。 (“客户”是指雇用我作为开发人员的字面上的人,而“客户”是指编程类;我的每个客户都有他们想要logging信息的客户)

我们可以有一个外键不是任何其他表中的主键吗?

它写在每本书中,外键实际上是其他表中的主键,但是我们可以在其他表中有一个不是主键的外键

Mathematica中的简单编程技巧/技巧用于制作math书籍的graphics?

我试图使用它。 对于一些情节来说真的很不错,但是当我们把三angular形做成一个例子的时候,我发现它非常复杂。 我想出了如何绘制一个三angular形,但如何添加angular度标记,那些曲线? 而且,因为我是初学者,所以写这本书的时候,谁能推荐我这是最好的方法来完成好看的graphics,例如下图所示。 哪些程序最适合使用。 感谢您的任何build议和意见。

devise用户angular色和权限系统的最佳实践?

我需要将用户angular色和权限系统添加到使用PHP / MySQL构build的Web应用程序中。 我想要有这个function: 一个root用户可以创build子根,组,规则和普通用户(所有权限)。 子基础只能为他/她自己的组创build规则,权限和用户(无组)。 用户可以通过组根据分配给他的权限访问由他或他的组创build的内容。 我需要系统足够灵活,以便将新angular色和权限分配给内容。 我有一个users表存储组密钥连同其他信息。 目前,我在每个内容表中使用了两个CreatedByGroup ,即CreatedByGroup和CreatedByGroup ,并使用它作为特定用户是否具有权限的点。 但它不够灵活,因为对于每一个新的内容,我都必须通过所有的数据更新和许可更新。 请通过讨论架构devise的最佳实践来帮助我。

在JSON中将逻辑表示为数据

出于商业原因,我们需要将一些条件逻辑外部化为外部文件:最好是JSON。 一个简单的过滤scheme可以通过添加一个节点来处理,如下所示: "filter": [ { "criteria": "status", "value": "open", "condition": "==" } ] 数组中的其他值可以处理多个条件。 "filter": [ { "criteria": "status", "value": "open", "condition": "==" }, { "criteria": "condition2", "value": "value2", "condition": "==" } ] 然而,当我们处理涉及AND或OR的复杂条件时,会有点混淆。 问题:在JSON中表示这种逻辑是否有一种标准化(甚至被广泛接受)的格式? 如果这取决于你,你会怎么做? 注:第一个答案已经成为一个可编辑的维基,所以任何人都可以改善它。

存储库模式与entity framework4.1和父/子关系

我仍然对仓库模式有一些困惑。 我想要使​​用这种模式的主要原因是为了避免从域中调用EF 4.1特定的数据访问操作。 我宁愿从IRepository接口调用通用的CRUD操作。 这将使testing更容易,如果将来我必须更改数据访问框架,我将能够在不重构大量代码的情况下进行testing。 这是我的情况的一个例子: 我在数据库中有3个表: Group , Person和GroupPersonMap 。 GroupPersonMap是一个链接表,只包含Group和Person主键。 我使用VS 2010devise器创build了3个表格的EF模型。 EF足够聪明地假设GroupPersonMap是一个链接表,所以它不会在devise器中显示它。 我想使用现有的域对象而不是EF生成的类,所以我closures了模型的代码生成。 我现有的类与EF模型匹配如下: public class Group { public int GroupId { get; set; } public string Name { get; set; } public virtual ICollection<Person> People { get; set; } } public class Person { public int PersonId {get; set; } public […]

为什么我应该使用命令devise模式,而我可以轻松调用所需的方法?

我正在研究命令devise模式 ,我对使用它的方式感到困惑。 我有的例子是关于远程控制类,用来打开和closures灯。 为什么不应该使用Light类的switchOn()/ switchOff()方法,而不是使用最终调用switchOn / switchOff方法的单独的类和方法? 我知道我的例子很简单 ,但这是重点。 我无法在Internet上的任何位置find任何复杂的问题,以查看命令devise模式的确切用法。 如果你知道你解决的任何复杂的现实世界问题,可以使用这种devise模式解决,请与我分享。 这有助于我和这篇文章的未来读者更好地理解这种devise模式的用法。 谢谢 //Command public interface Command { public void execute(); } //Concrete Command public class LightOnCommand implements Command { //Reference to the light Light light; public LightOnCommand(Light light) { this.light = light; } public void execute() { light.switchOn(); //Explicit call of selected class's method […]

依赖倒置原则(SOLID)与封装(OOP的支柱)

最近我正在讨论依赖倒置原理 , 控制反转和dependency injection 。 关于这个话题,我们正在辩论这些原则是否违反了OOP的一个支柱,即封装 。 我对这些事情的理解是: 依赖倒置原则意味着对象应该依赖于抽象而不是结核 – 这是实现控制反转模式和dependency injection的基本原理。 控制反转是依赖反转原理的模式实现,其中抽象依赖关系取代具体的依赖关系,允许在对象之外指定依赖关系的结构。 dependency injection是实现控制反转并提供依赖性parsing的devise模式。 当一个依赖被传递给一个依赖的组件时就会发生注入。 实质上,dependency injection模式提供了一种将依赖抽象与具体实现耦合的机制。 封装是高层对象所需要的数据和function被隔离开来并且不可访问的过程,因此程序员不知道如何实现对象。 辩论得到了一个关键点: IoC不是OOP,因为它打破封装 就我个人而言,我认为所有的OOP开发者都应该遵守依存倒置原则和控制倒置的模式,而且我的观点如下: 如果有(可能)不只一个方法去剥皮,那就不要像只有一个。 例1: class Program { void Main() { SkinCatWithKnife skinner = new SkinCatWithKnife (); skinner.SkinTheCat(); } } 这里我们看到一个封装的例子。 程序员只需要调用Main() ,猫就会被剥皮,但是如果他想要剥皮猫,比如说一组锋利的razor呢? 例2: class Program { // Encapsulation ICatSkinner skinner; public Program(ICatSkinner skinner) { // […]