目前公司系统多个应用分层结构各不相同,给运维和未来的开发带来了巨大的成本,分层架构看似很简单,但保证整个研发中心都使用统一的分层架构就不容易了. 那么如何保证整个研发中心都使用统一的分层架构,以达到提高编写代码效率.保证工程统一性的目的? 这里给出个人的规划设计,希望对你有所启发. 1.分层目标 简单易用:少即是多,哪怕应届生进来也能很快上手 结构统一:不管是新系统还是旧系统结构的是一样的. 提高效率:提高开发和运维效率,减少维护和学习成本 2.分层架构介绍 先简单介绍当前两种比较流行的分层架构…
背景 有一种现象,App设计者觉得理所当然的操作方式,却常常被用户所忽视,为了防止这种现象发生,就要为App设计一个帮助,一种低成本的方案是将帮助文档写成HTML然后展示给用户,这样的方式常常不能带来好的效果,一种较好的方式是高亮用户应该点击的区域,对其他部分进行遮盖,并用说明文字提醒用户,如下图所示.点击这里观看动画演示 下载 框架SGUserGuide已经上传到github,点击前去github下载,欢迎Star! 关键 要实现这种引导,关键问题有二,一是如何拿到允许交互的控件,二是如何处理…
去年暑假的时候,作为学习Qt的实战,我写了一个名为<我爱查词典>的词典软件.后来由于导师项目及上课等原因,时间不足,所以该软件的部分功能欠缺,性能有待改善.这学期重新拿出来看时,又有很多东西都不熟悉了.恰逢这学期课比较少,于是乎想写写关于这个软件制作的一系列文章,对日后重拾该软件时能够较快入手.当然,也非常乐意读者们在该软件的基础上添加一些功能,源代码会在该系列文章写完之后公布.可运行的词典软件的下载地址:http://download.csdn.net/detail/tengweitw/85…
HAL,全称为Hypertext Application Language,它是一种简单的数据格式,它能以一种简单.统一的形式,在API中引入超链接特性,使得API的可发现性(discoverable)更强,并具有自描述的特点.使用了HAL的API会更容易地被第三方开源库所调用,并且使用起来也很方便,开发者可以像处理普通JSON数据那样去处理API数据.有关HAL的更多信息,可以参考官方网站:http://stateless.co/hal_specification.html. 例子 下面就是一…
0x00 简介 DotBPE.RPC是一款基于dotnet core编写的RPC框架,而它的爸爸DotBPE,目标是实现一个开箱即用的微服务框架,但是它还差点意思,还仅仅在构思和尝试的阶段.但不管怎么说RPC是微服务的基础,先来讲讲RPC的实现吧.DotBPE.RPC底层通信默认实现基于DotNetty,这是由微软Azure团队开发的C#的Netty实现,非常酷.当然你也可以替换成其他Socket通信组件.DotBPE.RPC使用的默认协议名称叫Amp,编解码使用谷歌的Protobuf3,不过这…
1.前言 对于最近surging更新的API 网关大家也有所关注,也收到了不少反馈提出是否能介绍下Api网关,那么我们将在此篇文章中剥析下surging的Api 网关 开源地址:https://github.com/dotnetcore/surging 2. API网关 简介 API 网关是服务提供者的访问入口,主要起到隔离外部访问与内部系统的作用.它主要解决服务消费者的身份认证.监控.负载均衡.缓存.限流等问题. API网关的流行,源于近几年的大型互联网的兴起,从以前的单体应用,到垂直应用架构…
前言 .net core已经出来一段时间了,相信大家对.net core的概念已经很清楚了,这里就不再赘述.笔者目前也用.net core做过一些项目,并且将以前framework下的一些经验移植到了.net core下,并结合.net core本身的一些特性整理成此框架,以供学习参考.如有不足之处,欢迎指正.  先睹为快,演示地址:http://cloud.eggtwo.com/main/index 框架介绍 先来一张整体分层结构图 基础层 1.Cloud.Core项目是核心项目,主要实现缓存…
一 什么是.NET Core? 随着2014年 Xamarin和微软发起.NET基金会,微软在2014年11月份开放.NET框架源代码.在.NET开源基金会的统一规划下诞生了.NET Core .也就是说.NET Core Framework是参考.NET Framework重新开发的.NET实现,Mono是.NET Framework的一个开源的.跨平台的实现. 二 .NET Core与.NET FrameWork和Mono之间的联系? .NET Framework将成为.NET Core在W…
基于.net core 的微服务,网上很多介绍都是千篇一律基于类似webapi,通过http请求形式进行访问,但这并不符合大家使用习惯.如何像形如[ GetService<IOrderService>().SaveOrder(orderInfo)]的方式, 调用远程的服务,如果你正在为此苦恼, 本文或许是一种参考. 背景 原项目基于传统三层模式组织代码逻辑,随着时间的推移,项目内各模块逻辑互相交织,互相依赖,维护起来较为困难.为此我们需要引入一种新的机制来尝试改变这个现状,在考察了 Java…
1.背景 前阵子有园友留言,提到日志相关的东西,同时,最近圈子里也有提到日志这个东西.一个充分.集中的统一日志平台还是很有必要的,否则系统出问题了只能靠猜或者干瞪眼.何谓充分,日志记录满足最低要求.出问题方便定位.可追溯.可追责,最重要的,方便扯皮:何谓集中,各子系统或服务日志都怼到一个地方,想看日志直接去日志平台去看,且方便检索.聚类,而不是需要每个服务.每台服务器逐个远程去翻扯.这里,就结合项目实践,聊下怎么方便.快捷.低成本的实现统一日志平台. 2.技术栈 .NET CORE + log4…