.Net Core应用框架Util介绍(五)】的更多相关文章

上篇简要介绍了Util在Angular Ts方面的封装情况,本文介绍Angular封装的另一个部分,即Html的封装. 标准组件与业务组件 对于管理后台这样的表单系统,你通常会使用Angular Material或Ng-Zorro这样的UI组件库,它们提供了标准化的UI组件. 标准组件将Ts封装起来,以特定标签和属性的方式提供使用. 业务组件使用标准组件拼凑页面,并从服务端API获取数据绑定到页面上. 可以看出,标准组件是业务开发的基础,我们必须将标准组件的开发效率提升到极致. 使用标准组件的问…
Util的开源地址 https://github.com/dotnetcore/util Util的开源协议 Util以MIT协议开源,这是目前最宽松的开源协议,你不仅可以用于商业项目,还能把Util的代码放进你的框架,放心使用. Util的命名 Util这个名字看上去不怎么高大上,很多人劝我换个霸气点的,比如USharp. 不过我还是坚持使用Util,因为他简短,也更好记忆,Util很多类名与.Net或第三方类库重名,需要使用完全限定名来调用它,比如Util.Helpers.String.Jo…
距离上次发文,已经过去了三年半,这几年技术更新节奏异常迅猛,.Net进入了跨平台时代,前端也被革命性的颠覆. 回顾 2015年,正当我还沉迷于JQuery + EasyUi的封装时,突然意识到技术已经过时. JQuery在面对更加复杂的UI需求时显得力不从心,EasyUi虽然组件比较完善,但界面风格老旧,响应速度慢,且是收费商业产品,在一个商业产品上投入精力封装并不划算,所以我果断弃坑了. 然后开始封装JQuery + Bootstrap,在一个SPA(单页应用)项目里暴露出很多问题,让我认识到…
Util的开源地址 https://github.com/dotnetcore/util Util的开源协议 Util以MIT协议开源,这是目前最宽松的开源协议,你不仅可以用于商业项目,还能把Util的代码放进你的框架,放心使用. Util的命名 Util这个名字看上去不怎么高大上,很多人劝我换个霸气点的,比如USharp. 不过我还是坚持使用Util,因为他简短,也更好记忆,Util很多类名与.Net或第三方类库重名,需要使用完全限定名来调用它,比如Util.Helpers.String.Jo…
回顾 2015年,正当我还沉迷于JQuery + EasyUi的封装时,突然意识到技术已经过时. JQuery在面对更加复杂的UI需求时显得力不从心,EasyUi虽然组件比较完善,但界面风格老旧,响应速度慢,且是收费商业产品,在一个商业产品上投入精力封装并不划算,所以我果断弃坑了. 然后开始封装JQuery + Bootstrap,在一个SPA(单页应用)项目里暴露出很多问题,让我认识到JQuery不适合做SPA,我开始寻找新的方案. AngularJs(ng 1.x)是谷歌出品的JS框架,几本…
前面介绍了Util是如何封装以降低Angular应用的开发成本. 现在把关注点移到服务端,本文将介绍分层架构各构造块及基类,并对不同层次的开发人员应如何进行业务开发提供一些建议. Util分层架构介绍 为了控制业务逻辑复杂性,Util引入了DDD分层架构,这意味着如果你想使用DDD,Util会为你提供一些基础设施帮助. 如果你对DDD不感兴趣,同样可以使用你所熟悉的类似三层架构等方式来编码,这并不会造成影响. 表现层构造块 由于目前的趋势是前后端分离,所以这里的表现层是指Api这一层,页面操作前…
上篇介绍了Util Angular Demo的目录结构和运行机制,本文介绍Util封装Angular的基本手法及背后的动机. Angular应用由Ts和Html两部分构成,本文介绍第一部分. Angular Ts的封装 Ts是Angular的代码部分,用于编写页面逻辑. 依赖注入( Dependency Injection ) Ioc(Inversion of Control)已经成为.Net Core服务端编程的标配,Ioc解耦了类和依赖类之间的创建关系,让你开发出低耦合高内聚的系统. 有了I…
上篇介绍了Util的开发环境,并让你把Demo运行起来.本文将介绍该Demo的前端Angular运行机制以及目录结构. 目录结构 在VS上打开Util Demo,会看见如下的目录结构. 现代前端通常采用VS Code开发,不过我们为了使用TagHelper,需要采用VS开发,这为你提供了更多的选择. 你可以将WebApi和Angular应用放在同一个项目中,就像现在看见的那样.也可以分别把WebApi和Angular应用放到不同项目中. 如果你已经习惯了VS Code开发,这同样没问题,不过你将…
之前写了一系列nose框架的,这篇介绍下attr tag 在nose框架中attr用来标识用例,使得在运行时可以通过标识来执行用例,之前在nose测试框架全面介绍四中有说明,但没有说明清楚,这里再总结下. 一.标识方式    标识方式有二种: 1.方式一(不太好用) def test_learn_1(): u'''测试''' print 'xxx' eq_(7, 7, msg=u"错误") test_learn_1.slow=1 2.使用attr装饰器 from nose.plugin…
框架说明 Magicodes.Admin.Core框架在ABP以及ASP.NET ZERO的基础上进行了封装和完善,目前基于.NET Core 2.0+(Framework版本),由于部分组件在.NET Core没有找到替代组件,所以真正意义上跨平台版本会在后续推出. 目前本框架已经应用于团队的所有项目,在实际开发过程中还在不断地打磨. 由于本人和团队成员都是利用自己的时间来打磨本框架,因此在大部分情况下,并不会在相关群内进行解答,如果确实是疑难问题,请提交Issue.如果觉得本框架对您有所帮助…