唔,说好的文章,欠了好久,先水一篇. 本系列目录:Abp介绍和经验分享-目录 概述 先表个态:对绝大多数人来说,ABP是成熟的,足以用到生产环境的. 最适合的:业务非常复杂且不追求极致性能的(这里并不是说ABP性能不行),或业务非常成熟稳定直接作为产品(卖软件)或服务(SaaS)进行销售的. 最不适合的:极致追求性能,言必谈性能,不谈业务的. 这里适合和不适合,主要是说投入产出比(不适合的那群人本身就在抗拒着,忙着挑刺). 当我们遇到需要极致的性能需求的时候,其实重点在于方案如何设计,开发框架和…
虽然使用MVC已经不少年,相关技术的学习进行了多次,但是很多技术思路的理解其实都不够深入.其实就在MVC框架中有很多设计模式和设计思路的体现,例如DependencyResolver类就包含我们常见的DI依赖注入概念和注册表模式(GetService)等内容,ExceptionFilter等过滤器就体现AOP的概念,整个MVC内置了一个IOC容器,基本上所有的框架类的对象都是通过这种方式来创建的.此外,一直觉得很j2ee的spring很棒,其实如果大家很熟悉EHAB(微软企业开发库)的话,就会发…
本系列目录:Abp介绍和经验分享-目录 Abp的模块系统支持插件机制,可以在指定目录中放置模块程序集,然后应用程序启动时会搜索该目录,加载其中所有程序集中的模块. 如何使用这套机制进行功能插件化开发? 首先,插件程序集和应用程序是毫无关系的,应用程序不依赖这个程序集,所以我们要解决几个常见问题: 插件中提供的功能需要权限认证,如何自动注册权限到使用了该插件的应用程序? 插件中提供的功能在展现层中需要菜单导航,如何自动注册菜单项目? 插件中提供的功能需要配置,如何让插件自已能进行简单的配置管理,而…
ABP相关岗位招聘:给热爱.NET新技术和ABP框架的朋友带来一个高薪的工作机会 ABP交流会录像视频:ABP架构设计交流群-7月18日上海线下交流会的内容分享(有高清录像视频的链接) 代码自动生成:分享一个与ABP配套使用的代码生成器源码 ABP系列文章总目录: 1.ABP总体介绍  2.ASP.NET Boilerplate入门 3.ABP分层架构 4.ABP模块系统 5.ABP启动配置 6.ABP依赖注入 7.ABP Session管理8.ABP日志管理9.ABP设置管理10.ABP领域层…
基于DDD的现代ASP.NET开发框架--ABP系列之2.ABP入门教程 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称. ASP.NET Boilerplate是一个用最佳实践和流行技术开发现代WEB应用程序的新起点,它旨在成为一个通用的WEB应用程序框架和项目模板. ABP的官方网站:http://www.aspnetboilerplate.com ABP在Github上的开源项目:https://github.com/aspnetboi…
基于DDD的现代ASP.NET开发框架--ABP系列之1.ABP总体介绍 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称. ASP.NET Boilerplate是一个用最佳实践和流行技术开发现代WEB应用程序的新起点,它旨在成为一个通用的WEB应用程序框架和项目模板. ASP.NET Boilerplate 基于DDD的经典分层架构思想,实现了众多DDD的概念(但没有实现所有DDD的概念). ABP的官方网站:http://www.aspn…
本系列目录:Abp介绍和经验分享-目录 前言 ABP中有个异常UserFriendlyException经常被使用,但是它所在的命名空间是Abp.UI,总觉得和展现层联系过于紧密,在AppService中用也就罢了,在领域层中用它总觉得有点不合适. 那么怎么定义业务异常?既要用起来舒服又能体现业务意义? 几点目标 无需每个业务领域都定义各自的异常类,但使用时要有一定的可读性,能区分不同业务: 要有错误码: 每个错误码对应的提示语不能硬编码,最好能使用已有的本地化语言机制: 要有日志级别,不同的业…
出处:http://www.cnblogs.com/mienreal/p/4528470.html ABP相关岗位招聘:给热爱.NET新技术和ABP框架的朋友带来一个高薪的工作机会 ABP交流会录像视频:ABP架构设计交流群-7月18日上海线下交流会的内容分享(有高清录像视频的链接) 代码自动生成:分享一个与ABP配套使用的代码生成器源码 ABP系列文章总目录: 1.ABP总体介绍 2.ASP.NET Boilerplate入门 3.ABP分层架构 4.ABP模块系统 5.ABP启动配置 6.A…
点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之1.ABP总体介绍 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称. ASP.NET Boilerplate是一个用最佳实践和流行技术开发现代WEB应用程序的新起点,它旨在成为一个通用的WEB应用程序框架和项目模板. ASP.NET Boilerplate 基于DDD的经典分层架构思想,实现了众多DDD的概念(但没有实现所有DDD的概念). ABP的官方网站…
浅入 ABP 系列(4):事件总线 版权护体作者:痴者工良,微信公众号转载文章需要 <NCC开源社区>同意. 目录 浅入 ABP 系列(4):事件总线 事件总线 关于事件总线 为什么需要这个东西 事件总线创建过程 订阅事件 事件 发布事件 全局异常加入事件总线功能 创建事件 订阅事件 发布事件 测试 记录事件 这一篇将来学习 ABP 中的事件总线,然后结合在我们的基架项目中,逐渐构建一个完整的系统. 源码地址:https://github.com/whuanle/AbpBaseStruct 事…
返回ABP系列 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称. ASP.NET Boilerplate是一个用最佳实践和流行技术开发现代WEB应用程序的新起点,它旨在成为一个通用的WEB应用程序框架和项目模板. ABP的官方网站:http://www.aspnetboilerplate.com ABP官方文档:http://www.aspnetboilerplate.com/Pages/Documents Github上的开源项目:http…
ArcEngine中打开各种数据源(WorkSpace)的连接 ArcEngine中打开各种数据源(WorkSpace)的连接 (SDE.personal/File.ShapeFile.CAD数据.影像图.影像数据集) ArcEngine 可以接受多种数据源.在开发过程中我们使用了如下几种数据源 1.企业数据库(SDE) 企业数据库需要使用SDE来管理,所以需要使用SDE的Workspace来表示连接.在AE接口中,Workspace是由Factory打开的.代码如下: // //准备连接参数…
基于DDD的现代ASP.NET开发框架--ABP系列之3.ABP分层架构 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称. ABP的官方网站:http://www.aspnetboilerplate.com ABP在Github上的开源项目:https://github.com/aspnetboilerplate 前言 为了减少复杂性和提高代码的可重用性,采用分层架构是一种被广泛接受的技术.为了实现分层的体系结构,ABP遵循DDD(领域驱动设…
ShoneSharp语言(S#)的设计和使用介绍 系列(4)- 入门概述 作者:Shone 声明:原创文章欢迎转载,但请注明出处,https://www.cnblogs.com/ShoneSharp. 摘要: S#语言演变到如今,其实已经形成比较强的个性了,也有很多利弊.语言的个性是由其语法确定的,S#的基因就是公式系统,其设计.表达和核心库在各种语言比较中绝对算的上是一流的,已支持近3800个函数或属性或方法调用. 软件: S#语言编辑解析运行器,运行环境.NET 4.0,绿色软件,单个EXE…
异常是在程序执行期间出现的问题.C# 中的异常是对程序运行时出现的特殊情况的一种响应,比如尝试除以零. class Program { static void Main(string[] args) { System.IO.File.Delete(@"F:\output.txt"); System.IO.File.Delete(@"F:\面向对象2.exe"); System.IO.File.Delete(@"F:\input.txt"); Co…
08.01_面向对象(代码块的概述和分类) A:代码块概述 在Java中,使用{}括起来的代码被称为代码块. B:代码块分类 根据其位置和声明的不同,可以分为局部代码块,构造代码块,静态代码块,同步代码块(多线程讲解). 局部代码块:只要是和局部有关系的,都是和方法有关系的 局部变量:在方法声明上或者在方法内部 构造代码块与类变量谁在前先加载谁 ,所有静态的东西(静态方法和静态变量都是)只加载一次,就是在类文件加载的时候加载,类文件释放的时候释放,加载顺序为,静态,–>–>构造代码块或局部变量…
微信公众号:compassblog 欢迎关注.转发,互相学习,共同进步! 有任何问题,请后台留言联系! 1.SpringMVC 概述 (1). MVC:Model-View-Control Control 层属于框架性质,完成的主要工作是:封装 web 请求为一个数据对象.调用业务逻辑层来处理数据对象.返回处理数据结果及相应的视图给客户端. (2).什么是 SpringMVC Spring mvc 和 Struts2 都属于表现层的框架,是 Spring 框架的一部分,Spring 框架的 Co…
本文介绍自己入坑ABP的过程,一些ABP的相关文章.QQ群,以及ABP Zero示例项目的运行. 背景 作为一个半路出家学习编程的新人,之前工作中也断断续续写过一些代码,但底层核心一直没机会学习,所以能力一直处于初中级的水平,只能写写一些二次开发代码. 借着最近两年做的几个MES项目,准备自己尝试写一套MES出来. 从今年1月到现在,一有休息就到github上找框架.去群里吹水,然后就碰到了ABP,发现还不错就学了起来. 学了一段时间之后,发现这套基于.NetCore的DDD框架,确实比较复杂,…
我们在前一篇文章微软新神器-Power BI,一个简单易用,还用得起的BI产品中,我们初步介绍了Power BI的基本知识.由于Power BI是去年开始微软新发布的一个产品,虽然已经可以企业级应用,但还在不断更新中,功能也在不断加强中,目前世面上的电子书和教程也几乎没有,所以本博客将持续提供相关咨询,以及原始整理的官方文档资料,以及会不断翻译以及制作中文版的学习资料,个人也在摸索之中,有不足,还请大家指正. 本文原文地址:一起学微软Power BI系列-官方文档-入门指南(1)Power BI…
我们在文章: 一起学微软Power BI系列-官方文档-入门指南(1)Power BI初步介绍中,我们介绍了官方入门文档的第一章.今天继续给大家介绍官方文档中,如何获取数据源的相关内容.虽然是英文,但又图像,还比较容易理解. 由于Power BI是去年开始微软新发布的一个产品,虽然已经可以企业级应用,但还在不断更新中,功能也在不断加强中,目前世面上的电子书和教程也几乎没有,所以本博客将持续提供相关咨询,以及原始整理的官方文档资料,以及会不断翻译以及制作中文版的学习资料,个人也在摸索之中,有不足,…
我们前2篇文章:一起学微软Power BI系列-官方文档-入门指南(1)Power BI初步介绍 和一起学微软Power BI系列-官方文档-入门指南(2)获取源数据 中,我们介绍了官方入门文档与获取数据等基本知识.今天继续给大家介绍官方文档中,最核定的一个步骤,建模,不管是在Power BI还是在Tableau中,建模都是一个必不可少的步骤,包括传统的Power Privot中,也需要建模这个过程.建模的过程是一个不断演变和需要不断总结经验的过程,和我们传统的关系类型数据库设计有一些类似. 本…
在前面的系列文章中,我们介绍了官方有关获取数据,以及建模的原始文档和基本介绍.今天继续给大家介绍官方文档中,有关可视化的内容.实际上获获取数据和建模更注重业务关系的处理,而可视化则关注对数据的解读.这是我的理解,因为可视化的手段非常丰富,在面对大量的数据和模型,如何从中提取重要的关系,发现重要的数据趋势,并来指导生产和业务开展,这个才是体现数据价值的地方.可视化虽然很简单,但过程非常体现你对业务的理解和发现问题的思路,并不是一个拖动图表的过程.这一块内容非常多,以后有机会再根据实际案例来一步步掌…
我们几篇系列文章中,我们介绍了官方入门文档与获取数据等基本知识.今天继续给大家另外一个重点,探索数据奥秘.有了数据源,有了模型,下一步就是如何解析数据了.解析数据的过程需要很多综合技能,不仅仅是需要掌握Power BI的功能要点,熟练的利用一些新功能来提高效率,同时还需要合理的利用仪表盘,以及合理的调整对象,同时作为一个完整的应用,必须掌握数据刷新和同步的技巧,避免做重复工作. 本文原文地址:一起学微软Power BI系列-官方文档-入门指南(5)探索数据奥秘 Power BI系列文章地址:微软…
今天介绍了官方入门文档中有关PowerBI和Excel的知识.前几篇入门文档有点仓促,加上最近时间的研究,会有更多技巧性和入门型的文章或者视频发布,最后2篇入门文档将更加详细一点,因为部分文章进行简单的翻译. 本文原文地址:一起学微软Power BI系列-官方文档-入门指南(6)Power BI与Excel Power BI系列文章地址:微软Power BI技术文章与资源目录 1.系列文章说明 一起学微软Power BI系列 文章将分为 官方文档,文档翻译,中文入门教程,中文视频教程和案例等内容…
接触Power BI的时间也只有几个月,虽然花的时间不多,但通过各种渠道了解收集,谈不上精通,但对一些重要概念和细节还是有所了解.在整理官方文档的过程中,也熟悉和了解了很多概念.所以从前到后把微软官方的入门稳定粗略的介绍了一下.本篇文章也是这个小系列的终结篇.我将所有的章节整理为了一个完整的PDF文档分享给大家.其实了解之后发现文档还是有些简单的,过程其实没介绍到.因为微软也提供了支持文档,但限于篇幅太大,我就不打算按照原文一个个复制给大家了.入门文档是让大家有个粗略的了解.技术文档就是细节了,…
原文:VSTO之旅系列(一):VSTO入门 引言: 因为工作的原因,这段时间一直在看VSTO的相关的内容的,因此希望通过这个系列来记录下我学习的过程和大家分享Office开发的相关知识,希望以后有朋友从事这方面的也希望通过本系列提供点帮助. 本专题将简单介绍VSTO和VSTO中的一些基本概念进行介绍,下面就直接进入正题了. 1. VSTO介绍 首先介绍下VSTO的历史吧,之前都是用VBA来开发Office解决方案的,后来微软开发出了VSTO这个工具包来创建自定义的Office应用程序,使得开发O…
Mybatis系列(一)入门 mybatis简介 MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架.MyBatis 消除 了几乎所有的 JDBC 代码和参数的手工设置以及结果集的检索.MyBatis 使用简单的 XML 或注解用于配置和原始映射,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java 对象)映射成数据库中的记录. 每个MyBatis应用程序主要都是使用SqlSessionFactory实例的,一个SqlSes…
openresty开发系列11--openresty的api入门 1)ngx_lua模块的hello world编辑nginx下conf配置文件nginx.conf# vi nginx.conf在server模块加上location /helloworld {    default_type text/html;    content_by_lua 'ngx.say("hello world")';} 检查配置文件是否正确# /usr/local/openresty/nginx/sbi…
D-Link系列路由器漏洞挖掘入门 前言 前几天去上海参加了geekpwn,看着大神们一个个破解成功各种硬件,我只能在下面喊 6666,特别羡慕那些大神们.所以回来就决定好好研究一下路由器,争取跟上大神们的步伐.看网上公开的D-Link系列的漏洞也不少,那就从D-Link路由器漏洞开始学习. 准备工作 既然要挖路由器漏洞,首先要搞到路由器的固件. D-Link路由器固件下载地址: ftp://ftp2.dlink.com/PRODUCTS/ 下载完固件发现是个压缩包,解压之后里面还是有一个bin…
MySql概述及入门(五) MySQL集群搭建之读写分离 读写分离的理解 为解决单数据库节点在高并发.高压力情况下出现的性能瓶颈问题,读写分离的特性包括会话不开启事务,读语句直接发送到 salve 执行.基本的原理是让主数据库处理事务性增.改.删操作(INSERT.UPDATE. DELETE),而从数据库处理SELECT查询操作.数据库复制被用来把事务性操作导致的变更同步到集群中的从数据库. 为什么使用读写分离 因为数据库的“写”(写10000条数据到oracle可能要3分钟)操作是比较耗时的…