Apworks框架实战】的更多相关文章

Apworks框架实战(一):Apworks到底是什么? Apworks框架实战(二):开始使用 Apworks框架实战(三):单元测试与持续集成 Apworks框架实战(四):使用Visual Studio开发面向经典分层架构的应用程序:从EasyMemo案例开始 Apworks框架实战(五):EasyMemo的领域模型设计 Apworks框架实战(六):使用基于Entity Framework的仓储基础结构 …
简介 Apworks是一款基于Microsoft .NET的面向领域驱动的企业级应用程序开发框架,它适用于以领域模型为核心的企业级系统的开发和集成.Apworks不仅能够很好地支持经典的分层架构,而且还能支持基于事件驱动的命令查询职责分离(Command-Query Responsibility Segregation, CQRS)架构. 随着软件系统日趋复杂,构建一套可用的.稳定的.可扩展的.安全的以及高效的系统变得越来越困难.为了解决这样的困难,人们在多年的软件开发过程中积累了不少经验,由其…
虽然这部分内容并没有过多地讨论Apworks框架的使用,但这部分内容非常重要,它与Apworks框架本身的设计紧密相关,也是进一步了解Apworks框架设计的必修课. 单元测试与持续集成概述 在敏捷开发过程中,单元测试是非常重要的.这不同于传统的瀑布开发模型,在瀑布模型中,单元测试的重要性体现的并不明显,因为在这种模型中,"测试"被强调为整个开发流程中的一个环节,也会有专门的测试团队来负责测试过程,于是,由开发人员负责的单元测试往往被忽略.另一方面,在项目刚刚开始时,由于团队对开发过程…
在前面的章节中,我们已经设计了一个简单的领域模型,接下来我们希望能够实现领域模型的持久化及查询.在Apworks中,实现了面向Entity Framework.NHibernate以及MongoDB的仓储基础结构.在本章节中,我将向大家介绍如何在Apworks中使用基于Entity Framework的仓储机制. 搭建基于Entity Framework的基础结构 在使用Apworks提供的仓储服务之前,我们首先需要搭建好基于Entity Framework的基础结构,以便接下来的Apworks…
在上一讲中,我们已经新建了一个聚合根对象Account,并已经可以开始设计领域模型了.在这一讲中,我们会着重介绍EasyMemo领域模型的分析和设计,并引入Visual Studio Ultimate(旗舰版)版本的特性,介绍在Visual Studio 2013 Ultimate中如何使用体系结构建模工具进行领域模型设计,并自动化产生支持Apworks框架的代码. 界定上下文 由于EasyMemo所需实现的功能非常简单,因此,我们很容易从领域概念中剥离出两个界定上下文:用户账户上下文和用户便签…
时隔一年,继续我们的Apworks框架之旅.在接下来的文章中,我将逐渐向大家介绍如何在Visual Studio中结合Apworks框架,使用ASP.NET Web API和MVC来开发面向经典分层架构的应用程序.在这一讲中,我们首先了解一下分层架构的各个"层",以及所涉及的Visual Studio项目,然后,我们从领域模型开始,在Visual Studio中开始我们的应用程序开发之旅. 说明:虽然现在微软已经发布了Visual Studio 2015,但为了照顾广大的老版本用户,本…
要使用Apworks进行应用程序开发,您需要安装Visual Studio 2012以上的版本(以下简称Visual Studio 2012+),从Apworks 2.5开始,需要Micrsoft.NET Framework 4.5的支持,因此强烈建议使用Visual Studio 2012+进行开发. 获取源代码 要获得最新版本的代码,请使用下面的命令获取: git clone https://github.com/daxnet/Apworks 您也可以直接打开Apworks的首页以在线浏览源…
前一篇介绍了仓储的基本概念,并谈了我对仓储的一些认识,本文将实现仓储的基本功能. 仓储代表聚合在内存中的集合,所以仓储的接口需要模拟得像一个集合.仓储中有很多操作都是可以通用的,可以把这部分操作抽取到基类中. 在Util.Domains项目中创建一个文件夹Repositories,这个文件夹用来放仓储相关的接口.在Repositories下创建一个仓储接口IRepository. 把仓储基接口放到Util.Domains,是因为仓储接口是在领域层定义的,这与传统三层架构的数据访问层接口的位置不同…
在应用程序框架实战十四:DDD分层架构之领域实体(基础篇)一文中,我介绍了领域实体的基础,包括标识.相等性比较.输出实体状态等.本文将介绍领域实体的一个核心内容——验证,它是应用程序健壮性的基石.为了完成领域实体的验证,我们在前面已经准备好了验证公共操作类和异常公共操作类. .Net提供的DataAnnotations验证方法非常强大,Mvc会自动将DataAnnotations特性转换为客户端Js验证,从而提升了用户体验.但是客户端验证是靠不住的,因为很容易绕开界面向服务端提交数据,所以服务端…
经过一个多月的整理,<J2EE开源框架实战宝典>--Tiny文档PDF电子书開始发放,共同拥有将近600页.为喜爱Tiny.热爱Java开源框架的朋友提供更加体贴的文档服务! 下载地址:http://bbs.tinygroup.org/group-112-1.html(增加查看下载地址) 以下是部分文件夹的截图.   1.jpg (62.15 KB, 下载次数: 0) 下载附件 6 天前 上传 2.jpg (497.41 KB, 下载次数: 0) 下载附件 6 天前 上传 3.jpg (510…
最近我为我自己的应用开发框架Apworks设计了一套案例应用程序,并以Apache 2.0开源,开源地址是:https://github.com/daxnet/apworks-examples,目的是为了让大家更为方便地学习和使用.NET Core.最新的前端开发框架Angular,以及Apworks开发框架.今后会有越来越多的案例代码加入到这个系列中,以更好地展示Apworks框架在基于.NET企业应用系统开发中的应用.今天,我向大家介绍这套代码的第一个案例应用:Task List. Task…
JEECG前后端分离UI框架实战版本 - 抢先体验 (ng2-admin+Angular4+AdminLTE) 关键词: ng2-admin.Angular4.AdminLTE.Nodejs.Jeecg JEECG紧跟技术潮流推出前后端分离架构UI,前端开发与后台服务分离,便捷的开发模式,更好的体验风格,后期前端UI重够更方便. UI 框架:Angular4+AdminLTE 技术点: angular4.nodejs.Typescript.Angular CLI.npm.AdminLTE 开发工…
一.课程介绍 我们都知道在软件架构方式分为:C/S和B/S两类.这里阿笨不谈论两种软件架构的优劣之分,因为它们各有千秋,用于不同场合.一位伟大的讲师曾经说过一句话:事物存在即合理!录制这堂课程的目的就是专门给想学习和了解WinForm应用程序的童鞋们.虽然当前主流的架构开发的确大多是WEB端和App移动端开发,可能大家都忽略了传统的WinForm桌面应用程序开发的魅力! 如果您对本次分享< WinForm企业级框架实战项目演练 >课程感兴趣的话,那么请跟着阿笨一起玩WinForm吧!阿笨将从自…
[WePY小程序框架实战一]-创建项目 [WePY小程序框架实战二]-页面结构 [WePY小程序框架实战三]-组件传值 async await 是对promise的近一步优化,既解决了promise链式then的这种写法壁垒,又让异步请求更像同步,若对async await不太了解的同学可以直接参考阮一峰老师的文章async 函数的含义和用法,这里我们只关注怎么在小程序wepy架构中如何使用. 依赖库 import 'wepy-async-function' app.wpy中启用 export…
[WePY小程序框架实战一]-创建项目 [WePY小程序框架实战二]-页面结构 父子组件传值 静态传值 静态传值为父组件向子组件传递常量数据,因此只能传递String字符串类型. 父组件 (parent.wpy) <view> <child name="leinov"></child> </view> 子组件(child.wpy) <template lang="wxml"> <view> {{…
[WePY小程序框架实战一]-创建项目 项目结构 |-- dist |-- node_modules |-- src | |-- components |-- a.wpy |-- b.wpy |-- ... |-- pages |-- index.wpy |-- about.wpy |-- ... |-- store |-- actions |-- reducers |-- types |-- utils |-- http.js |-- ... |-- app.wpy |-- package.j…
如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战2 - 使用Python发送请求 Python接口测试实战3(上)- Python操作数据库 Python接口测试实战3(下)- unittest测试框架 Python接口测试实战4(上) - 接口测试框架实战 Python接口测试实战4(下) - 框架完善:用例基类,用例标签,重新运行上次失败用例…
Python接口测试框架实战与自动化进阶☝☝☝  一.fiddler在工作中的运用  1.如何抓接口 抓紧手机端接口 ①.在电脑终端输入:ipconfig ,找到电脑ip ②.打开手机,连接WiFi,进入WiFi详情,改用手动代理,将ip设置为电脑端的ip,端口默认(8888) ③.打开fiddler,找到并打开Fiddler Options ,选择Connections栏,做如下改动: 这样就可以尝试抓取接口了.  二.unittest使用 python自带的包 1.unittest简单使用…
第1章 课程介绍(不要错过)本章主要讲解课程的详细安排.课程学习要求.课程面向用户等,让大家很直观的对课程有整体认知! 第2章 接口测试工具Fiddler的运用本章重点讲解如何抓app\web的http\https请求包.如何模拟请求数据.过滤规则及修改响应数据.如何解决无法抓包问题        以及fiddler接口测试,让大家能应用好工具! 第3章 Requests常见方法实战运用本章重点讲解 get\post请求测试.接口测试中结果处理.上传\下载文件接口测试.请求中header及coo…
1. 简介 截止到上一篇文章为止,框架基本完全搭建完成.那么今天我们要做什么呢????聪明如你的小伙伴或者是童鞋一定已经猜到了,都测试完了,当然是要生成一份高端大气上档次的测试报告了.没错的,今天宏哥就带领你们将这部分内容也集成到这个框架中.本文来介绍如何生成自动化测试报告,前面文章尾部提到了利用HTMLTestRunner.py来生成自动化测试报告.关于HTMLTestRunner不过多介绍,只需要知道是一个能生成一个HTML格式的网页报告就可以,其他的如果你特别感兴趣可以自己去搜索查询资料.…
Python接口测试框架实战与自动化进阶  整个课程都看完了,这个课程的分享可以往下看,下面有链接,之前做java开发也做了一些年头,也分享下自己看这个视频的感受,单论单个知识点课程本身没问题,大家看的时候可以关注下面几点: 1.为了追求精简简洁牺牲了部分实用性,导致不足以达到某些工作的需要2.大部分是实战课程弱化了其他技术点的不足,无法全面了解python,但是很多都是刚接触python的(很致命)3.因为是录播课程导致某些问题不能及时去解决,没人交流(这个最烦) 所以真要把python学好,…
Go语言笔记[实现一个Web框架实战]--EzWeb框架(一) 一.Golang中的net/http标准库如何处理一个请求 func main() { http.HandleFunc("/", handler) http.HandleFunc("/count", counter) log.Fatal(http.ListenAndServe("localhost:9090", nil)) } func handler(w http.Response…
手把手和你一起实现一个Web框架实战--EzWeb框架(二)[Go语言笔记]Go项目实战 代码仓库: github gitee 中文注释,非常详尽,可以配合食用 上一篇文章我们实现了框架的雏形,基本地实现了将原来的处理方法和监听处理的实例指向我们自定义的实例.封装出了GET,POST处理方法.完成了框架雏形. 本篇文章,我们将原本的handler方法中的参数 w http.ResponseWriter, req *http.Request 封装到一个新的结构体Context中,同时替代掉原来的参…
手把手和你一起实现一个Web框架实战--EzWeb框架(三)[Go语言笔记]Go项目实战 代码仓库: github gitee 中文注释,非常详尽,可以配合食用 本篇代码,请选择demo3 这一篇文章我们进行动态路由解析功能的设计, 如xxx/:id/xxx,xxx/xxx/*mrxuexi.md 实现这处理这两类模式的简单小功能,实现起来不简单,原有的map[path]HandlerFunc数据结构只能存储静态路由与方法对应,而无法处理动态路由,我们使用一种树结构来进行路由表的存储. 一.设计…
手把手和你一起实现一个Web框架实战--EzWeb框架(四)[Go语言笔记]Go项目实战 代码仓库: github gitee 中文注释,非常详尽,可以配合食用 这一篇文章主要实现路由组功能.实现路由组对路由进行更便利的管理,如应用中间件的应用. 一.路由组设计 这里进行的设计是以路由组前缀来进行区分的.嵌套 实现一个r.Group(prefix string)函数来构造路由组,使之在调用GET.POST等方法进行路由注册时,拥有共同的前缀.GET.POST等方法注册路由时调用了addRoute…
手把手和你一起实现一个Web框架实战--EzWeb框架(五)[Go语言笔记]Go项目实战 代码仓库: github gitee 中文注释,非常详尽,可以配合食用 本篇代码,请选择demo5 中间件实现 一.Context设计 type Context struct { Writer http.ResponseWriter Req *http.Request //请求的信息,包括路由和方法 Path string Method string Params map[string]string /*用…
原文链接 我是一名五六年经验的前端程序员,现在准备学习一下 Golang 的后端框架 gin. 以下是我的学习实战经验,记录下来,供大家参考. https://github.com/gin-gonic/gin 1. 先安装 Golang 我使用苹果系统,很简单,用以下命令: brew install golang 其他系统的朋友在这里下载安装包即可:https://go.dev/dl/ 要验证是否安装成功,只需要进入命令行如下: $ go version go version go1.19.1…
进行项目开发的第一步,是创建出适合自己团队习惯的VS解决方案,虽然我已经提供了项目示例,但毕竟是我创建的,你直接使用可能并不合适,另外你如果尝试模仿重新创建该示例,中间可能碰到各种障碍,特别是项目间的依赖关系. 本文的目的是帮助.Net架构初学者能顺利搭建起适合自己的VS解决方案,我会在本文演示曾经用过的几种不同风格的目录结构,你可以根据自己的习惯选择一种并自行修改. 本系列假定你已经熟悉如何创建.NET类库等基础知识,并具有.Net开发经验,我不会详细到每一个细节.如果你是.Net初学者,尚未…
从本篇开始,本系列将进入实战演练阶段. 前面主要介绍了一些应用程序框架的概念和基类,本来想把所有概念介绍完,再把框架内部实现都讲完了,再进入实战,这样可以让初学者基础牢靠.不过我的精力很有限,文章进度越来越慢,所以准备切换一下介绍顺序,把实战演练提前,以方便你阅读代码. 实战演练介绍 本系列实战演练共分两个部分. 实战演练第一部分介绍如何快速解决CRUD机械操作,这一部分我将手把手带领各位同学从搭建VS环境开始,创建程序集及各程序集间的依赖关系,以及引入依赖的外部DLL,并手工完成代码示例中Ap…
文章大纲 Android注解框架介绍 ButterKnife实战 项目源码下载   一.框架介绍 为什么要用注解框架?  在Android开发过程中,我们经常性地需要操作组件,操作方法有findViewById, setOnClickListener等等方法,这个过程会让工程师抓狂的,好在市面已经有大神封装好的的注解框架可以帮助开发者简化一些过程,下面就让我来给大家介绍一些常见的注解框架. ButterKnife框架介绍  首先看下Butterknife,来自Jakewharton大神的力作,特…