上次赶时间,就很流水账地写了上次项目对EF的一次实践应用模式,因为太长了,也没能探讨太多,所以再继续扩展. 这次想探讨的是,实体,如果作为类似于领域模型的业务模型存在,它的数据能否来自不同的数据源.这个想法首先是来自于这次应用中,Model First + 代码补充的方式形成了一个极好的效果.一方面满足了范式,减少了数据存储量:另一方面利用了封装特性,向业务提供了一个符合业务期望的实体. 首先看一个例子 我用Model First建立了Account一个实体,实际生成的代码如下: public…
Paul Hiles: 3 ways to avoid an anemic domain model in EF Core 1.引言 在使用ORM中(比如Entity Framework)贫血领域模型十分常见 .本篇文章将先探讨贫血模型的问题,再去探究在EF Core中使用Code First时如何使用简单的方法来避免贫血模型. 2.什么是贫血模型 在对领域建模后,输出一系列类中仅包含一些简单属性声明而不包含业务逻辑的模型,就属于贫血模型.当使用Entity Framework时,它们不仅仅是简…
分析业务模型-类图(Class Diagram)     分析业务模型-类图(Class Diagram)(上) 摘要:类图(Class Diagram)可能是用得最多的一种UML图.类图的基本语法并不复杂,你可能最多学习两三天就可以掌握,然而要真正做到活用类图则可能需要几年的功力.类图是锻炼面向对象分析(OOA:Object-Oriented Analysis)和面向对象设计(OOD:Object-Oriented Design)思想的重要的工具,是业务结构建模的重要工具.本章将会有大量的实战…
正如它的名字所示(Business Model and Mapping Layer),业务逻辑层需要把物理层的数据源以一种业务用户的视角来重新组织物理层的各个数据源(所谓的Mapping),同时在业务逻辑层里,我们将 需要真正构建数据仓库里的星型模型,包括: ·         事实表 ·         维表 ·         维表的层次结构(hierarchy) ·         事实表度量(measure)来提供一个模型供展现层使用,所以在业务逻辑层,用户需要同时具有技术的知识(数据仓…
This topic provides step-by-step instructions on how to use the XPO Data Model Designer in XAF applications. We will create a simple business model consisting of two objects - Employee and Task. These objects will be linked with a one-to-many relatio…
个人观察 1.通过系统和业务拆分,遵循单一职责原则SRP,保障整个系统的可用性和稳定性. 2.单一职责原则SRP,真的很关键,广大程序员需要不断深入理解这个原则. 3.架构图是架构师的重要输出,通过图可以直观地看出整个架构思路. 本文转载于 <程序员>2014年11月刊:电商峰值系统架构设计 原文链接:http://www.csdn.net/article/2014-11-04/2822459 该做什么的就做什么 保障整个系统的可用性和稳定性,第一步需要做 的就是,使整体架构清晰化.层次化.那…
并发本来就是个有意思的问题,尤其是现在又流行这么一句话:“高帅富加机器,穷矮搓搞优化”. 从这句话可以看到,无论是高帅富还是穷矮搓都需要深入理解并发编程,高帅富加多了机器,需要协调多台机器或者多个CPU对共享资源的访问,因此需要了解并 发,穷矮搓搞优化需要编写各种多线程的代码来压榨CPU的计算资源,让它在同一时刻做更多的事情,这个更需要了解并发. 在我前一篇关于并发的文章http://my.oschina.net/chihz/blog/54731中 提到过管程,管程的特色是在编程语言中对并发的细…
使用"EF Model First",我们可以很直观地在edmx文件中创建数据模型,并根据模型生成数据库,整个过程快速而高效.可当数据库中有了一定的数据量,同时,可能需要对模型中字段.表.关系等进行更新,如何把模型中的变化映射到已经有一定数据量的数据库呢?   本篇使用"EF Model First"创建1对多,多对多关系表,接着体验如何把模型的更新映射到数据库.edmx数据模型在如下几个方面更新: ● 修改字段 ● 添加字段 ● 删除字段 ● 删除表 ● 删除1对…
SQLIte 操作方便,简单小巧,这里笔者就不再过多介绍,感兴趣可以到以下博文 https://blog.csdn.net/qq_31930499/article/details/80420246 文章介绍创建ASP.NET Core 程序,创建模型.上下文,生成数据库,对数据库增删查改. 并对每个过程进行详细介绍,使初学者尽快了解内容和相关知识,避免对某一知识点怀疑.卡在某个位置. 过程&目录 1 新建ASP.NET Core MVC 应用 1.1 新建MVC应用 1.2 引入NuGet 包…
在接到业务需求之后,我认为重要的是理清楚自己该做什么.来实现业务.由于不了解业务,还是走了很多弯路.本可以不用这么做,还是这么做了.自然你最傻瓜的按照用户的方式去实现是没有问题的. 会使后面的人难以维护,可以精简的流程也变的复杂.冗余很多.那目前还不是我的层次,达不到.只能按照用户的想法去做. 因为是BW ON HANA 系统.能在BW 里将数据处理好 就在BW, 在HANA 视图里做简单的JOIN  . WEBI 里复杂的逻辑判断做展示.没有什么绝对.看那个好做.我所掌握大体如此. BW 里是…
https://blog.csdn.net/xiongmeiqin/article/details/80196089 EF 中 Code First 的数据迁移以及创建视图 写在前面: EF 中 Code First 的数据迁移网上有很多资料,我这份并没什么特别.Code First 创建视图网上也有很多资料,但好像很麻烦,而且亲测好像是无效的方法(可能是我太笨,没搞成功),我摸索出了一种简单有效的方法,这里分享给大家. EF是Entity Framework(实体框架)的简写,是微软出品的用来…
摘要:类图(Class Diagram)可能是用得最多的一种UML图.类图的基本语法并不复杂,你可能最多学习两三天就可以掌握,然而要真正做到活用类图则可能需要几年的功力.类图是锻炼面向对象分析(OOA:Object-Oriented Analysis)和面向对象设计(OOD:Object-Oriented Design)思想的重要的工具,是业务结构建模的重要工具.本章将会有大量的实战练习,你的OOA思想将会接受极大的考验和提升. 3.8 小结与练习 小结 类图是最常用的UML图,是用来训练你OO…
EntityFramework 应用场景 最近被应用程序中页面加载慢的问题所折磨,看似容易的问题,其实并不容易(已经持续两天时间了),经过“侦查”,发现了两个“嫌疑犯”: EntityFramework 生成执行的 SQL 数据库中索引创建 在<程序员眼中的 SQL Server-非聚集索引能给我们带来什么?>这一篇博文中,我把怀疑对象放在了数据库索引上,其实索引只是一方面的问题,最后通过仔细观察 EntityFramework 生成执行的 SQL 代码(EntityFramework 中如何…
https://msdn.microsoft.com/zh-CN/data/jj591621 Enable-Migrations Add-Migration 名称 Update-Database –Verbose…
概要 有人常问,云巴实时通信系统到底提供了一种怎样的服务,与其他提供推送或 IM 服务的厂商有何本质区别.其实,从技术角度分析,云巴与其它同类厂商都是面向开发者的通信服务,宏观的编程模型都是大同小异,真正差异则聚焦于产品定位,业务模式,基础技术水平等诸多细节上.本文暂不讨论具体产品形态上的差异,着重从技术角度浅谈实时通信的编程模型. 什么是实时通信 「实时」(realtime) 一词在语义层面上隐含着对时间的约束(real-time constraint),在工程上,我们习惯对「需要在一定时间内…
转载:https://mp.weixin.qq.com/s/5xmmuw8O-I_Fi5bzE-_baA?tdsourcetag=s_pcqq_aiomsg 京东 B2B 业务的定位是让各类型的企业都可以在京东的 B 平台上进行采购.建立采购关系. 京东 B2B 的用户群体主要分为 2 类,一类是大 B 用户.另一类是小 B 用户.比如联通.移动公司跟京东建立的采购关系,就是 B 平台的大 B 用户:如果有一家小超市需要在京东 B 平台上进行采购,那么它就是 B 平台的小 B 用户. 京东 B…
摘要: 第一阶段1~10篇已经覆盖了MVC开发必要的基本知识. 第二阶段11-20篇将会侧重于专题的讲解,一篇文章解决一个实际问题. 根据园友的反馈, 本篇文章将会先对呼声最高的仓储模式进行讲解. 文章提纲 概述要点 理论基础 详细步骤 总结 概述要点 设计模式的产生,就是在对开发过程进行不断的抽象. 我们先看一下之前访问数据的典型过程. 在Controller中定义一个Context, 例如: private AccountContext db = new AccountContext();…
摘要: 第一阶段1~10篇已经覆盖了MVC开发必要的基本知识. 第二阶段11-20篇将会侧重于专题的讲解,一篇文章解决一个实际问题. 根据园友的反馈, 本篇文章将会先对呼声最高的仓储模式进行讲解. 文章提纲 概述要点 理论基础 详细步骤 总结 概述要点 设计模式的产生,就是在对开发过程进行不断的抽象. 我们先看一下之前访问数据的典型过程. 在Controller中定义一个Context, 例如: private AccountContext db = new AccountContext();…
<分布式消息队列XXL-MQ>     一.简介 1.1 概述 XXL-MQ是一款轻量级分布式消息队列,支持串行.并行和广播等多种消息模型.现已开放源代码,开箱即用. 支持三种消息模式: 消息模式 特征说明 适用场景 TOPIC(广播消息)模型 发布/订阅模式, 一条消息将会广播发送给对应Topic下所有在线的Consumer 如广播集群节点进行缓存更新.广播集群节点进行站点静态化等 QUEUE(并发队列)模型 点对点模式, 消息进去队列之后, 只会被消费一次.同一Topic下的多个Consu…
文章提纲 概述要点 理论基础 详细步骤 总结 概述要点 设计模式的产生,就是在对开发过程进行不断的抽象. 我们先看一下之前访问数据的典型过程. 在Controller中定义一个Context, 例如: private AccountContext db = new AccountContext(); 在Action中访问,例如获取用户列表: var users=db.SysUsers; 类似于这种,耦合性太高.业务逻辑直接访问数据存储层会导致一些问题,如 重复代码:不容易集中使用数据相关策略,例…
Atitit orm的实现模式  data-mapper模式和active-record模式有什么区别 1.1. 这是来自Node.js路线有关混合两种ORM模式Active Record(活动记录模式)和Data Mapper(数据映射模式)的思考 1 1.2. 很显然,Active Record比较简单,但是不够灵活,而Data Mapper则是很灵活,但是多了一个实体管理器,增加了复杂性. 1 1.1. 这是来自Node.js路线有关混合两种ORM模式Active Record(活动记录模…
  分布式系统就是将系统的应用层,数据层或其它部分构架成分布(物理和逻辑上的都可以)状(通常是网状).分布式系统通常是为了增强系统的可扩展性.稳定性和执行效率.比如在线游戏通常就是分布系统,里面所谓的“区”就是分布系统里子例程.而分布式数据库其实也可以称作分布式系统,数据持久化层是分布的(数据存在不同的数据库中,可交互,有一套综管系统来维护数据的完整性和准确性). 所以说分布式系统更准确地说是一种系统构架概念,不是一种技术. 在一个分布式系统中,一组独立的计算机展现给用户的是一个统一的整体,就好…
什么是非关系型数据库? 非关系型数据库它的全称是Not Only SQL(简称 NoSQL数据库)是用于存储和检索数据的非关系数据库系统.在当今世界,我们不应该只以没有预定义固定模式的表格式存储所有数据(固定没有列).像用户生成的数据.地理位置数据.物联网生成的数据一样,社交图是真实世界数据呈指数级增长的例子.这些庞大的数据也需要大量的处理.这时NoSQL数据库就出现了.使用NoSQL数据库,我们可以存储和退休的文件,键值,图形为基础的数据容易和更快.我们可以很容易地避免复杂的SQL连接操作.易…
2020 年末,谷歌旗下 DeepMind 研发的 AI 程序 AlphaFold2 在国际蛋白质结构预测竞赛上取得惊人的准确度,使得" AI 预测蛋白质结构"这一领域受到了空前的关注.今天我们邀请到同领域企业,深势科技为大家分享其搭建基础平台时的实践与思考.AI 场景中的使用的数据有哪些新特点?混合云架构如何与超算平台结合?为何会选择 JuiceFS? 背景 深势科技成立于 2018 年,是 "AI for Science" 科学研究范式的先行者,致力于运用人工智…
标准Web系统的架构分层 1.架构体系分层图 在上图中我们描述了Web系统架构中的组成部分.并且给出了每一层常用的技术组件/服务实现.需要注意以下几点: 系统架构是灵活的,根据需求的不同,不一定每一层的技术都需要使用.例如:一些简单的CRM系统可能在产品初期并不需要K-V作为缓存:一些系统访问量不大,并且可能只有一台业务服务器存在,所以不需要运用负载均衡层. 业务系统间通信层并没有加入传统的HTTP请求方式.这是因为HTTP请求-响应的延迟比较高,并且有很多次和正式请求无关的通信(这在下面的内容…
上次实现了依赖注入,但是web项目必须要引用业务逻辑层和数据存储层的实现,项目解耦并不完全:另一方面,要同时注入业务逻辑层和数据访问层,注入的服务直接写在Startup中显得非常臃肿.理想的方式是,web项目近引用接口而不引用实现,在配置文件中进行配置实现程序集合类,注入业务逻辑层而不必注入数据访问层. 一.数据访问层 在项目中摒弃数据访问层或者使用EntityFramework作为数据访问层. 在项目中数据访问层主要实现数据的存储,仔细看一下EntityFramework发现DbContext…
来源:http://blog.csdn.net/yinwenjie(未经允许严禁用于商业用途!) 目录(?)[-] Nginx重要算法介绍 1一致性Hash算法 2轮询与加权轮询 Nginx的安装 1准备工作 2正式安装 3安装验证和启动 进阶 1重要配置项 11use kqueue rtsig epoll select poll 12worker_processes和worker_connections 13max client的计算方式 14gzip 2健康检查模块 3图片处理模块 4Ngi…
标准Web系统的架构分层 – 转载请注明出处 1.架构体系分层图 在上图中我们描述了Web系统架构中的组成部分.并且给出了每一层常用的技术组件/服务实现.需要注意以下几点: 系统架构是灵活的,根据需求的不同,不一定每一层的技术都需要使用.例如:一些简单的CRM系统可能在产品初期并不需要K-V作为缓存:一些系统访问量不大,并且可能只有一台业务服务器存在,所以不需要运用负载均衡层. 业务系统间通信层并没有加入传统的HTTP请求方式.这是因为HTTP请求-响应的延迟比较高,并且有很多次和正式请求无关的…
标准Web系统的架构分层 – 转载请注明出处 1.架构体系分层图 在上图中我们描述了Web系统架构中的组成部分.并且给出了每一层常用的技术组件/服务实现.需要注意以下几点: 系统架构是灵活的,根据需求的不同,不一定每一层的技术都需要使用.例如:一些简单的CRM系统可能在产品初期并不需要K-V作为缓存:一些系统访问量不大,并且可能只有一台业务服务器存在,所以不需要运用负载均衡层. 业务系统间通信层并没有加入传统的HTTP请求方式.这是因为HTTP请求-响应的延迟比较高,并且有很多次和正式请求无关的…
标准Web系统的架构分层 转载:http://blog.csdn.net/yinwenjie    http://blog.csdn.net/yinwenjie/article/details/46480485 1.架构体系分层图 在上图中我们描述了Web系统架构中的组成部分.并且给出了每一层常用的技术组件/服务实现.需要注意以下几点: 系统架构是灵活的,根据需求的不同,不一定每一层的技术都需要使用.例如:一些简单的CRM系统可能在产品初期并不需要K-V作为缓存:一些系统访问量不大,并且可能只有…