- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
从表面上看,这可能听起来像一个愚蠢的问题,但为什么 Hot Towel SPA Template包括 Breeze根本?
最近几天我一直在学习 Hot Towel 及其依赖项,据我所知,模板中没有任何内容实际使用 Breeze。也许这会随着 future 的某些版本而改变?
当然, Breeze 是一个很好的图书馆。但它受 CRUD 方法的约束,需要您以特定方式设计 ApiController。 (元数据、SaveChanges 等)see here
它还指导您使用 Entity Framework 。虽然这更像是一种软依赖,因为 Breeze 还显示 a sample without it ,它仍然会使用修改后的存储库模式指导您实现类似的实现模式。
如果您使用的是 NoSQL 数据存储或 CQRS 模式而不是 CRUD,那么 Breeze 将变得非常难以使用。有一些用于数据访问的替代库在这种风格下运行良好,例如 AmplifyJS .
但是 Hot Towel 的其余部分非常好!我特别喜欢杜兰达尔。所以问题就来了,如果模板实际上没有进行任何数据访问 - 为什么要包含任何数据访问组件?最好在没有 Breeze 的情况下运输它,如果最终用户想要使用 Breeze、Amplify 或其他任何东西 - 那么就这样吧。 Hot Towel 的其余部分将继续作为一个伟大的 SPA 实现大放异彩。
最佳答案
马特 - 好问题。自从我创建它以来,我想我应该回答:)
当我构建模板时,我专注于提供足够的东西让人们使用正确的工具,以及足够的入门代码来指导方式。我不希望任何人撕掉代码。我不喜欢模板,这些模板让您走上一条路,让您删除大量文件和代码并改变方向。那些是 sample 。
sample 很好。事实上,样本也可以很出色(就像其他模板一样,我觉得它们更像样本)。这些还有另一个目的:展示你如何做事。
回到 Hot Towel 模板...如果我包含使用 Breeze 的代码,我会很想在客户端上添加一个 datacontext.js 和一个 model.js。它们将包含数据访问代码和用于扩展客户端模型的代码。然后我会很想添加一个 Controller 、一些服务器端模型、一个 ORM 和一个数据库。到达那里后,我想在多个屏幕中使用数据,这导致我使用 Breeze 进行更多的淘汰赛和缓存。然后我可能会想添加编辑,这将导致更改跟踪。很快我就有了一个完整的应用程序。或者更保守地说,我又有了一个样本。虽然这些方法会提供有关如何将它们组合在一起的更多指导,但它们不会帮助您“开始”使用模板,您可以在其中开始构建和添加自己的代码。如果我停止了其中的一些功能,它仍然在走一条需要你改变我做它的方式的道路。
就目前而言,HotTowel 非常接近于真正意义上的模板。您创建了一个新项目,然后就可以添加自己的代码了。
您可能会争辩说(您可能会)认为 Breeze 不应该在那里,因为我没有在模板中使用它。我也不使用moment.js,顺便说一句。但是,我认为它们都是出色的库,如果没有它们,我不想构建基于 CRUD 的 SPA。正如您所建议的, Breeze 很灵活,因此您不必走特定的道路。
了解 Breeze 值(value)的最佳方法是构建一个具有其功能但没有 Breeze 的应用程序。然后你可以看到需要多少代码以及它是如何参与的。对于这样的一个示例,请参阅我在 Pluralsight 上的中级 SPA 类(class),我正是这样做的:http://jpapa.me/spaps
所以你问“为什么是 Breeze ?” ... 因为我强烈推荐它来构建 SPA。
感谢您的提问,祝您好运!
关于breeze - 为什么 HotTowel 包含 Breeze ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15046939/
我正在考虑使用 Breeze js,并对其功能和随之而来的最佳实践有一些疑问。 服务器端元数据是否必须存在?如果我有一个非 EF WebApi Controller ,我是否仍然需要用 Provide
我们正在考虑使用breeze js来构建企业应用程序。 轻而易举的是,我们可以直接从客户端浏览器执行查询。这允许基于用户输入构造动态查询,而无需加载不必要的数据。我发现使用Breeze可以创建业务逻辑
我有一个从另一个表继承的表。当我运行该项目时,出现以下错误:无法获取未定义或空引用的属性“propertyref”...有什么想法吗? 最佳答案 编辑:从 v 1.3.1 Breeze 开始,现在支持
想知道是否有人知道扩展或配置 Breeze 以便服务器返回实体元数据中的附加信息的任何方法?我想使用这些附加数据来协助验证。 假设我有一个应用了一些数据注释的实体模型: public class Pe
我使用 Durandal/breeze 开发了一个 asp.net 解决方案。 这是我获取所有托运人的代码: var query = EntityQuery.from('Shippers')
我已经阅读了 Breeze 验证器信息,但不确定如何查看正在发生的实际错误。 错误:遇到客户端验证错误 - 有关更多详细信息,请参阅此对象上的实体错误集合。 我相信它在 entity.entityAs
我正在使用 Breeze 过滤客户端请求的数据。我的代码看起来有点像这样: 客户端 - 创建过滤谓词 var predicates = []; var criteriaPredicate = null
我在处理日期时遇到了一些问题。 我有一个带有日期字段的对象: public DateTime FechaInicio{get;设置; 此定义在数据库中生成以下字段: FechaInicio 日期时间不
我在处理日期时遇到了一些问题。 我有一个带有日期字段的对象: public DateTime FechaInicio{get;设置; 此定义在数据库中生成以下字段: FechaInicio 日期时间不
如果我使用微风加载部分实体: var query = EntityQuery.from('material') .select('Id, MaterialName, Mater
改进我关于如何使用获得的元数据在淘汰赛中创建验证规则的示例(http://stackoverflow.com/questions/13662446/knockout-validation-using-
我想更改 Breeze 的序列化程序,以便我的 javascript 对象是驼峰式的。在文档中它说这是可以做到的,但说这是有待解释的。 You can change the formatter's c
给定一个具有导航属性的实体,有没有办法判断空导航属性是否是因为子实体从未被加载,而不是集合已经加载但只是空的? 例如:我加载一个包含实体 A 列表的页面。每个实体 A 都有一个导航属性,它是实体 B
我使用 Entity Framework Code First + Durandal + Breeze 开发一个项目。 我有这些实体模型: public class Packing { [Ke
我正在尝试使用 breeze.js 保存一些实体。 Breeze 工作正常,它会根据需要保存所有更改。但是,我无法验证并确保授权是服务器端的。从我目前收集到的信息来看,我猜想做到这一点的唯一方法是检查
我们有一个轻而易举的客户解决方案,其中向父实体显示其子列表。我们对某些子实体进行硬删除。现在,当用户是执行删除操作的用户时,没有问题,但是当其他用户执行操作时,似乎没有办法使已经加载到缓存中的子项失效
我想用 Breeze.js 搜索文本 var qu = new breeze.EntityQuery("Projects") .where("Name", "s
从表面上看,这可能听起来像一个愚蠢的问题,但为什么 Hot Towel SPA Template包括 Breeze根本? 最近几天我一直在学习 Hot Towel 及其依赖项,据我所知,模板中没有任何
假设我想使用 Breeze 创建一个任务实体(我正在使用 EF),但是因为这是一个真实任务应用程序,所以该任务必须关联到当前登录的用户.任务具有需要在保存期间填充的 UserId 外键,这就是我遇到的
我正在尝试根据子实体的集合来过滤实体。这是我的实体(EF POCO): public class Customer { public int Id { get; set; } publ
我是一名优秀的程序员,十分优秀!