一般一个项目开始之前都会有启动会,需求交底等等,其中会有一个环节,大讲特讲项目的意义,然后取一个高大上的项目名字,咱这是一个小功能谈不上项目,但是名字不能太小气了.好吧,就叫Trump吧.没有任何含义,玩嘛! 项目分层结构也要在这里说一下,这次这个小功能仿照DDD的分层模式,一定记住我说的是仿照.因为我也不懂DDD,我就画个皮. DDD这个东西中文名字应该叫领域驱动设计,园子很多大神分享过.讲解过.看了很多博客很多书,依然没太理解这么复杂的东西(没有实践,纸上得来终觉浅).这里简单说说自己的理解…
在一个项目开始前,需求整理大概要占到整个项目周期15%甚至30%的比重,可以说需求理得越清楚,后续开发中返工几率越小.在一个项目中,开发新功能的花费的精力要远远小于修改功能的精力,这基本是一个共识.老祖宗说,谋定而后动,不是没有道理的. 一般项目开发中,前期会包含商务活动.需求调研,需求交底的过程. 商务活动 一般由售前人员进行,了解客户需求,收集客户愿景,商务洽谈等等工作,个人认为在这一阶段主要要做好如下工作,原谅我没做过商务工作,穷限制了我的想象力: 了解客户的需求,收集客户的应用场景 商务…
在上一节,我们完成了一个项目搭建,我们看到的是一个项目的分层架子,那接下来每一层做什么以及需要引用哪些内容呢?在本节内容我们还逐步拆分每一层的功能,顺带添加package包 Trump.Domain 在这一层,主要是定义领域模型,我们前面也说,Domain是不依赖任何层的,唯一可能存在的依赖也就是外部的帮助类库了.所以这一层不需要我们进行单独处理引用关系的. 在这一层我们主要定义一些实体和实体的行为,为了解决方案树看着清爽一些,我们分别添加几个文件夹保存对应的内容 Entiies:保存实体类 I…
从哪开始说呢,这几年微软的技术一直在变,像是牟足了劲要累死所有的NET程序员,从WebForm到MVC到现在MPA.SPA .Razor单页,从net2.0一直走到现在.net4.6.2,后面还有一个Core在等着攀登.唉,不知多少net程序员死在沙滩上,又有多少net程序员转行送了外卖! 整个技术行业,从传统的单机应用到联机应用,然后Web应用,爆发式的移动应用,然后又开始了云计算,又来了微服务,还有大数据.AI人工智能.还有微信自己搞起了一片天地叫做微信开发(不知道是不是这个名字).前端也是…
内容概述 前面絮絮叨叨没正事,到现在为止也没有开始写代码,不过在考虑下貌似这一节还是开始不了. B/S架构开发有一个特点,就是用浏览器打开,不同的用户群体可能有不同的风格,不论是管理平台还是普通的网站,也是有自己的风格. 我们要做这样一个管理系统,风格上没有客户来约束要做什么样,那简单处理,我们采用如下处理 Bootstrap :据说是Twitter工程师觉得前端工作太麻烦然后就弄了一套框架出来,现在有三个版本并行,2.x,稳定版本是3.x.x,开发中的是v4.x,在2018年1月18号发布了正…
前言 年底工作比较忙,年度总结还没写,项目要上线,回老家过年各种准备.尤其是给长辈给侄子侄女准备礼物头都大了. 原来想年前先出一版能用的,我看有点悬了,尽量先把大体功能弄出来,扔掉一些,保证能考试,然后再搞点扩展的东西. 本节主要是做一下EF的封装,在DDD设计中,有两个概念不得不提,工作单元模式和仓储模式.纯属个人理解,不对的地方大家交流. 下面是一张图来自Microsoft 文档站点 仓储模式 定义 Repository模式用于通过抽象接口来管理CRUD操作,该接口公开领域实体并隐藏数据库访…
PixiJS PixiJS使用WebGL,是一个超快的HTML5 2D渲染引擎.作为一个Javascript的2D渲染器,Pixi.js的目标是提供一个快速的.轻量级而且是兼任所有设备的2D库. 官方网址: http://www.pixijs.com/ 知识点 做一个小游戏,我们使用到PixiJS的功能不多,只需要了解以下几个点即可快速上手. PIXI.Application 创建一个游戏时第一个要初始化的对象. stage 舞台,我们可以看做是所有对象的根节点,类似于document. PIX…
一.简介 RecyclerView现在已经是越来越强大,且不说已经被大家用到滚瓜烂熟的代替ListView的基础功能,现在RecyclerView还可以取代ViewPager实现Banner效果,当然,以下做的小清新的Gallery效果也是类似于一些轮播图的效果,如下图所示,这其中使用到了24.2.0版本后RecyclerView增加的SnapHelper这个辅助类,在实现以下效果起来也是非常简单.所以这也是为什么RecyclerView强大之处,因为Google一直在对RecyclerView…
最近做一个小项目,需要用到struts2标签从数据库查询数据,并且用迭代器iterator标签在查询页面显示,可是一开始,怎么也获取不到数据,想了许久,最后发现,是自己少定义了一个变量,也就是var变量.<s:iterator>标签有一个value属性,用来存放在Action类的方法中存数据的list集合,还有一个id,好像是说指定集合的索引的意思,就是给list集合遍历出来的每个对象加上一个数字标签,反正我是这么理解的,没用过.还有一个很重要,就是var变量,我在s:iterator按ctr…
上一章快速添加了swagger文档管理功能,我的第一个netcore2.2 api项目搭建(二) 这一章实现目标三:api添加身份验证功能 在实现该目标之前,先得理解netcore运行机制. 这是微软提供的图,从图上可以看出,一个请求发出,逐个通过middleware,然后做出响应.这里的middleware被称作中间件.而要添加安全验证,得在响应之前添加验证功能,那咱们就可以利用这点,添加一个在响应请求之前的中间件,这个中间件来实现验证功能,如果通过验证就响应请求,否则直接返回请求违法信息.在…