问题标签 [data-layers]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
computer-science - 向量和层数据结构
我正在处理一些让我感到困惑的代码,我想知道我是否只是不了解数据结构。我正在使用的数据使用矢量和图层。我相信向量只是一行数据,但我不确定。
您可以提供或指出我使用这些信息的任何信息都会非常有帮助。
nhibernate - 在数据层访问多个数据提供者
我正在开发一个使用 DDD 理念开发的业务应用程序。数据库通过 NHibernate 访问,数据层使用 DAO 模式实现。
UML 类图如下所示。
UML 类图 http://img266.imageshack.us/my.php?image=classdiagramhk0.png http://img266.imageshack.us/my.php?image=classdiagramhk0.png
不知道设计好不好。你怎么看?
但问题不在于设计好不好。问题是在启动应用程序后,IDaoFactory
在表示层中实例化并作为参数发送到演示者类(使用 MVC 模式设计),如下所示
只使用一个数据提供者(这只是一个数据库)很简单。但是现在我们也应该从 XML 中获取数据。在开发的下一阶段,我们应该连接到不同的 Web 服务并操作传入和传出的数据。
来自 XML 的数据将使用一个枚举键来获取。XMLLoader
我们向数据层添加一个名为的类ILoader
,并向域添加一个接口。XMLLoader
有一个方法,其签名是
如果我们在表示层中使用 XMLLoader 实例化 ILoader,如下所示,我们必须将其发送到将从数据层获取一些 XML 数据的对象。
实现 Web 服务访问类之后
参数将及时增长。我认为我可以在一个类中保存所有数据访问对象的实例并将其传递给所需的演示者(也许单例模式也可以提供帮助)。在领域层必须有一个这样的类,
在主类中,可以使用此设计进行实例化,如下所示
你觉得这个设计怎么样,或者你能给我推荐一个不同的设计吗?
感谢所有回复...
linq - 您今天会为您的数据层选择什么,Linq 或 Subsonic?
我们准备开始一个全新的项目,没有遗留代码。我们过去确实使用过 Subsonic,我们对此非常满意。但那是在 Linq 之前。
有没有人不得不面对同样的问题(Linq x Subsonic)?
你的决定是什么?原因是什么?
任何见解表示赞赏。
orm - 你如何决定使用哪个 ORM?
城堡活动记录?普通的NHibernate?亚音速?实体?像Nettiers这样的东西?
我想用一个,但我知道的不够多,无法决定。Nhibernate 似乎过于杀戮和复杂,但被广泛使用。亚音速看起来整洁而容易。但它稳定吗?我有 CodeSmith,我被指向 Nettiers,它看起来也很简洁,但也很复杂。其他人如何评估和决定使用什么?您是否制作了每个简单的小项目以查看功能?Eeeny、Meenie、Miney、Moe?
javascript - 创建使用显示/隐藏图层和 Z-Index 更改页面内容的下拉菜单
我正在尝试为一个站点创建一个侧边栏,允许用户从下拉菜单中选择一个项目并显示一个 RSS 提要。提要会根据从列表中选择的项目而改变。我不知道如何实现这一点,但我的第一个想法是使用 z-index 和显示/隐藏图层。我有一层和菜单设置,但它不会让我在选择不同的菜单项时更改显示的馈送。有谁知道我怎么能做到这一点?
我对到目前为止所做的事情进行了实时预览。它位于CHUD网站上,
xml - 大型 XML 文件的架构和缓存注意事项
我正在建立一个网站来展示产品和产品类别。数据来自一个 500k XML 文件形式的外部服务。该网站是 ASP.NET,C#。
XML 被结构化为类别列表。每个类别内可能有一些产品和/或更多类别。
显然,我们无法调用这个外部服务来获取每个页面请求的大 XML 文件,所以我们每隔几个小时调用一次并缓存它。我需要做这样的事情:
- 在页面左侧显示产品类别菜单
- 显示选定类别中的所有产品
- 显示单个产品的扩展信息
我的问题如下:
首先,在显示“DVD”类别中所有产品的页面上,假设我执行以下操作(在页面加载时):
通过将类别 XML 放入一个局部变量(记住,它是 500k),这是否会消耗服务器?请记住,每次加载页面时我都必须这样做。可能有成千上万的人同时查看不同的页面。如果一千个人在几秒钟内加载同一个页面,我会在内存中保留一千个这个 XML 文件的实例吗?或者垃圾收集器会为我管理所有这些吗?
直接循环缓存项目是否更好,还是性能较差(和/或不好的做法)?
其次,我说我缓存了整个 XML 文件。我通过循环从该 XML 中获取产品或类别(我使用 LINQ over XML)。创建 Category 类型和 Product 类型,将它们放入数组并缓存它会更好吗?然后循环通过 Category 对象和数组而不是 XDocument?什么会更高效?
第三,就如何构建该系统而言,您会说什么是最佳实践。假设我有一个数据访问层、一个业务对象层和 Web 应用程序。我应该把对外部服务的引用放在哪里来检索 XML?我应该缓存哪一层?这个应用程序是否有数据访问层,从某种意义上说,DAL 部分是由其他系统完成的?目前我的 DAL 仅用于访问我们的数据库,在其中放置 web 服务引用感觉不对 - 但也许不是?在业务层中使用缓存是不好的做法(即干扰单元测试等)?我已经考虑了 Web 和业务层之间的中间层,仅用于缓存 - 这是一个好主意还是坏主意?
实际上,我已经完成了这个网站的大部分内容 - 我现在只是回顾它,想知道我是否以最好的方式完成了它,所以想将您的建议与我实际所做的进行比较,希望我会能够回去改进它。
谢谢!
linq-to-sql - 跨多个数据库构建数据层的最佳方法是什么?
先说一下环境:
我们使用名为 Clearview 的程序来管理与客户的服务关系,包括呼叫中心和现场服务工作。为了更好地支持客户和我们的现场技术人员,我们还开发了一个网站,以提供对 Clearview 服务记录和报告的访问。随着时间的推移,我们需要自定义行为并添加新功能导致越来越多的东西与这个网站及其数据库相关联。
在这一点上,我们正在处理诸如部分在 Clearview 数据库中和部分在网站数据库中定义的公司之类的事情。为了更好地衡量,我们还开始将电话系统的脚本绑定到同一个网站,这也需要与电话系统自己的数据库进行对话。
所有这些都已设置好并正在运行……但我们没有一个好的数据层来处理这一切。我们迁移到 Linq to SQL,现在有两个我们可以使用的 DBML,还有一些我在听说过 Linq 之前编写的自定义类,以及一些旧式 ADO 数据集。所以,是的,基本上事情是一团糟。
我想要的是一个数据层,它为我们的应用程序提供单个前端,并在后端将所有内容管理到正确的数据库中。
我听说过实体框架允许从多个源构建类,但事实证明只能有一个数据库。所以问题是,我该如何进行呢?
我目前正在考虑为每个数据库设置 Linq To SQL 类,然后手动编写将这些连接在一起的 Linq 兼容前端。似乎需要做很多工作,并且鉴于 Linq 的限制(例如无法刷新),我不确定这是一个好主意。
我可以用 Entity Framework 做一些效果更好的事情吗?我应该研究其他工具吗?我疯了吗?
c# - 使用 DAAB 3.5/4.0 的 DAL 设计
我正在开发一个 .Net 3.5 Web 应用程序。它有各种模块,例如客户、订单等。我需要使用 Enterprise Library 4.0 设计数据访问层 (DAL)(使用数据访问应用程序块或 DAAB)连接到 SQL Server 2005。这是我打算如何去做:
• 有一个名为“IDataService”的接口。它将有“ExecuteReader()”、“ExecuteScalar()”、“ExecuteNonQuery()”、“AddParams”等成员......基本上,这个接口几乎看起来像达布。
• 有一个名为“DataService”的类,它实现了这个接口。这个类将充当DAAB 的包装器,每个方法都将在内部使用DAAB 中的相应方法。
• 拥有像客户、数据等这样的业务类(或数据容器),它们的属性将映射到数据库中相应的表属性。
• 每个模块都有 DAL 类,如 CustomerDataService、OrdersDataService 等。这些类中的每一个都有构造函数代码,我将在其中实例化 DataService 类,如下所示: IDataService dataService= new DataService() 此外,这些类中的每一个都有如下方法: GetCustomerDetails() AddCustomer() RemoveCustomer() UpdateOrder 等这些方法将在内部使用“dataService”对象对数据库 ExecuteReader、ExecuteNonQuery 等进行任何操作
• 每个模块都有一个映射器类,如“CustomerMapper”、“OrderMapper”等。这些类将数据源(例如 IDataReader)作为输入,并将数据填充到通用集合(List)中。并且这些映射器类将由相应的 Dataservice 类在内部调用,以将类型安全的集合返回给调用客户端。
• 有一个像DbHelper 这样的帮助类,它会执行诸如“处理DBNull 案例”、“存储存储过程名称”等任务。
• DataService 类将被BusinessLogic 层类依次使用……即CustomerBusiness、OrdersBusiness 等。
• 业务逻辑层将集合返回到表示层。
这种设计有意义吗?这种方法的优点/缺点是什么?我能想到这种方法的优点是所有 DataService 类将始终针对接口“IDataService”进行编程,而无需知道“DataService”类是如何在内部实现的。因此,将来,如果我删除 DAAB 并在我的内部使用另一个 API DataService 类,客户端代码无需更改。此外,我可以在我的 IDataService 接口中添加 DAAB 中不存在的任何方法....例如 BatchUpdate()...
如果我错了,请纠正我。
iphone - 我在 iPhone 应用程序中的哪里放置数据层
在 .Net 中,我通常创建一个单独的类库并在我的项目中引用它。这个类库对数据库进行所有的选择、插入和更新。或者,我将类或静态方法放在 App_Code 文件夹中。
在 iPhone Dev 中,我将这个数据层放在哪里以便在代码和逻辑上进行分离。这个层,文件,将被所有需要数据并想要写入数据库的视图、控制器访问。