Questions tagged «crud»

6
REST和CRUD之间的区别
我学习了REST,感觉很像CRUD(根据我对CRUD的了解)。 我知道它们是不同的,并且我想知道是否认为它们相似意味着我不理解它们。 REST是CRUD的“超集”吗?CRUD所做的一切以及更多吗?
168 rest  crud 

7
业务逻辑是否可能不会潜入视图?
在过去的三年中,我已经为多个Web应用程序项目进行了开发,无论是个人的还是工作的,我似乎都无法弄清楚是否有可能至少某些业务逻辑没有出现在应用程序的视图层中。 在大多数情况下,会出现类似“如果用户选择了选项x,那么应用程序必须使他能够提供y的信息,否则,他/她应该提供信息z”之类的问题。或执行一些AJAX操作,该操作应将一些更改应用于模型,但除非用户明确要求,否则不要提交更改。这些是我遇到的一些最简单的问题,我无法弄清楚如何避免视图中的复杂逻辑。 我读过的大多数有关MVC的书通常都展示一些非常琐碎的示例,例如CRUD操作,它们仅更新服务器上的数据并显示它们,但在大多数功能丰富的应用程序中,情况并非如此。 是否可以实现完全没有业务逻辑的视图?

8
是否有非CRUD方法的示例?
我是一名程序员,但也曾担任过档案管理员。作为档案管理员,保存数据非常重要。 在数据操作方面,我经常与同事争论。我不太喜欢CRUD中的U和D。宁愿更新一条记录,我也喜欢添加一条新记录并引用旧记录。这样,您就可以建立变更历史。我也不喜欢删除记录,而是将它们标记为无效。 有这个用语吗?基本上只创建和读取数据?有这种方法的例子吗?

3
使用SOLID原则时,开发人员的可发现性是否成问题?
我从事一系列商务应用程序,在这些应用程序中,所有其他开发人员都习惯于使用基本的CRUD应用程序,或者只专注于创建漂亮/功能强大的界面,因此,我得到了很多帮助。 “通过我们使用的方式,员工将拥有您可能对员工所做的所有事情。” 这是真的。那个“班级”有成千上万的代码行,您在那里可以与一名员工一起做的任何事情。甚至更糟的是,有一张员工数据表,每个开发人员都想出了如何在事件处理程序中做他们想做的事情。 关于这种方法的所有坏事都是对的,但是至少使用雇员的开发人员可以在不查阅其他文件的情况下,弄清楚如何使雇员参加健康计划,加薪,解雇,雇用,调动等。经理和其他所有主要想法。或者,如果他们使用员工其他需要的数据表,则可以做他们想要的事情。 是的,有很多重复的代码。是的,这是非常脆弱的代码。是的,测试比必要的困难得多。是的,不断变化的功能导致恐惧,而复制粘贴由于这种方法是很自然的。 但是他们至少可以通过创建一个类来发现可用的东西,或者他们可以做他们需要做的事情而不必了解接口,抽象类,具体类等之间的区别。他们不必搜索任何东西由intellisense返回的方法,或知道数据所在的表。 我已经用谷歌搜索/搜索甚至是yahoo!d,但是我没有发现任何对此问题的认可。 因此,也许没有问题,而我只是想念一些东西。我竭尽全力试图找到一个解决方案,使不执行实际行为/设计的开发人员可以轻松地发现如何做某事,而不必引用任何外部文档或扫描各个组件/中的类名。项目,寻找听起来可行的方案。 我唯一能想到的就是这些,因为缺少更好的名称,“ Content Class Table”不执行任何操作以返回实际的类(实际上,大多数是接口,但它们不是了解其他开发人员可以用来执行所需实际任务的区别甚至是关心。仍然会出现真正的大类,但其中几乎没有行为。 有没有更好的方法不需要对SOLID的实际实现发生在中间层的深入了解? 基本上,我要问的是有一种方法可以允许CRUD类型的开发人员继续在非常复杂的系统中成为CRUD开发人员。
10 solid  crud 

3
CRUD API:如何指定要更新的字段?
假设您有某种数据结构,该数据结构保留在某种数据库中。为简单起见,我们将此数据结构称为Person。现在,您要负责设计CRUD API,该API允许其他应用程序创建,读取,更新和删除Person。为简单起见,让我们假定通过某种Web服务访问此API。 对于CRUD的C,R和D部分,设计很简单。我将使用类似C#的功能符号-实现可以是SOAP,REST / JSON或其他方式: class Person { string Name; DateTime? DateOfBirth; ... } Identifier CreatePerson(Person); Person GetPerson(Identifier); void DeletePerson(Identifier); 那更新呢?自然要做的是 void UpdatePerson(Identifier, Person); 但你会如何指定哪些领域Person要更新? 我可以提出的解决方案: 您始终可以要求通过一个完整的“人员”,即客户将执行以下操作来更新出生日期: p = GetPerson(id); p.DateOfBirth = ...; UpdatePerson(id, p); 但是,这将需要某种事务上的一致性或在Get和Update之间锁定;否则,您可能会覆盖其他客户端并行进行的其他更改。这会使API更加复杂。此外,由于下面的伪代码(假设客户端语言支持JSON),因此容易出错。 UpdatePerson(id, { "DateOfBirth": "2015-01-01" }); - 看起来正确-不仅会更改DateOfBirth,而且会将所有其他字段重置为null。 您可以忽略所有的字段null。但是,您将如何在不更改 DateOfBirth和有意将其更改为null之间做出区别? 将签名更改为void UpdatePerson(Identifier, Person, ListOfFieldNamesToUpdate)。 将签名更改为void …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.