原来系统架构Spring+Hibernate+Struts+springsecurity 拟改成 Spring+SpringMVC+MyBatis/JDBC+Shiro 同时优化前端的CSS和JQuery…
最近新接了一个业务系统——社区服务系统,为了快速熟悉和梳理老系统的业务逻辑和代码,同时对老系统代码做一些优化,于是打算花上一个月时间不间断地对老系统服务进行重构.同时,考虑到社区业务的复杂性,想起了之前做用户系统时尝试过的领域驱动建模(简称DDD,英文全称为:Domain Driven Design),思量之下,觉得DDD非常时候这种复杂业务逻辑的系统.毫不迟疑,开搞! 之前在做用户系统时,也尝试使用DDD进行业务建模,但迫于项目工期压力,没有进行深入的学习和建模,最后效果不是很理想,为了避免重…
云端办公是 Office系统的未来方向么 ? 话说随着互联网,HTML技术,云计算等技术的发展,越来越多的应用已经迁移到云端, 以我们熟悉的电脑游戏为例,从单机游戏,到网络游戏,再到网页游戏,基本就是这样一个不断从本地向云端迁移的过程. 微软目前在大力推广Office365, 在某种程度上也预示了企业办公系统从本地Office解决方案向云端迁移的这种趋势.最近Office365还和Dropbox合作,其主要目的也是强化其云端存储的能力. 目前企业经典的办公套件的组合是:  微软活动目录的网络架构…
近期在敲机房,对于SQLHelper也是心里有些怵,由于原来没用过,可是看了一些博客和资料后发现,假设不用这个类,会大大添加代码量,并且,事实上它并不新,它是一个有多个关于数据库增删改查操作的语句函数的类,使用这个类能够方便D层调用,对数据库的操作,我们无非就是增删改查,而函数就是有无參数,有无返回值,SQLHelper是个新词,只是我们却一直在用,仅仅是我们不这么叫,之所以叫SQLHelper,理所当然它是D层操作数据的助手, 在SQLHelper类中实现的方法包含:            …
接着上篇我们说的配置文件,今天我们来说一下接口. 1.UML图 2.三层架构 3.Sqlhelper 4.配置文件 5.接口 6.设计模式 什么是接口呢?我们可以将接口理解为用于沟通的中介的抽象化.可以将接口理解为我们生活中的“中介”.那么我们为什么要在机房收费系统中加接口呢?机房收费系统中的接口到底起着什么作用呢?看一下下面这段代码,这是我接口的一段代码. '********************************************************************…
——略谈Java web软件如何提供二次开发接口 接手公司的一个Java web软件产品,该软件采用传统的dwr框架.dwr框架相当于一个中间层,使得javascript能够识别Java类对象,进而能够调用Java类对象的方法.该软件要为项目部同事提供二次开发包. 这种方式界面层代码和逻辑实现代码混淆在一起,导致二次开发很难使用.项目部要定制系统,必须得到整个系统的源码. 改造思路是web界面层和接口实现代码进行分层,结构图如下: 具体就是接口实现层封装为后台模块,web界面层封装为web界面模…
目录 模块拆分 代码重构 模块拆分 代码重构 AuthenticationController PermissionController IAuthorizationMiddlewareResultHandler ISaveChangesInterceptor AuthenticationController 新增 AuthenticationController 用于登录和注册:登录会颁发 jwt token,包含用户的 claims 和 role 的 claims 登录 [HttpPost]…
背景 前几个月,使用Vertx重构了公司的一个子系统,该系统负责公司核心数据subscriber的采集.处理.存储和搜索.这里介绍下重构该系统时的一些关键点. 架构 重构前系统部署图: 重构前系统主要有2部分组成,这2部分都会对Subscriber数据操作: Java APP: 是个定时任务触发的APP,每2小时跑一次,每次启动后做以下的事情: 从MongoDB里加载已有的数据到内存. 读取准备好的Data文件,处理文件中的数据,和已加载的数据做合并,这个处理的过程会导致Subscriber数据…
新入了Dell的XPS 13超级本,之所以买这个本子,就是看中它轻便且续航持久.这款本子也是为数不多的能够和苹果的13'' mac book air一较高下的本子.在重量上,占地面积和综合性价比上,还略胜一筹. 我买的本出场安装win10.还附赠1年office 2016 licence.只是鉴于本人的工作性质,以及DIY的偏好,自然微软的系统是不够折腾的. 没思考就着手安装Linux系统了. #压缩WIN10空间 XPS13出场装得是正版WIN10(哥曾经屌丝.用不起正版的WINDOWS.如今…
在开始Excel开发之前,需要把架子搭起来.最直接的那就是Excel里面的菜单了,他向用户直观的展现了我们的插件具有哪些功能.菜单出来之后我们就可以实现里面的事件和功能了.Excel菜单有两种形式,一种是Excel 2003及之前的传统菜单样式,一种是Excel 2007及之后的Ribbon菜单.本文首先讲解Excel 2007中菜单的创建,包括使用Visual Studio可视化设计菜单,菜单的RibbonXml配置,然后讲解如何在Excel 2003中创建自定义菜单.最后演示如何使用Shar…
WHAT? 重构(refactoring),Martin Fowler将其定义为“在不改变软件外部行为的前提下,对其内部结构进行改变,使之更容易理解并便于修改”. WHY? 神话:一个管理很完善的软件项目,应该首先以系统化的方法进行需求开发,定义一份严谨的列表来描述程序的功能.设计完全遵循需求,并且完成的相当仔细,这样就让程序员的代码编写工作从头到尾直线型地工作.表明绝大多数代码首次编写后就已完美,测试通过即可被抛诸脑后.代码被修改的惟一时机发生在交付使用后在新版本进行功能的添加 现实:在初始开…
7月8日 据媒体TizenExperts报道,关于“Tizen系统跳票”的传闻已经遭到了英特尔和三星否认. 此前传闻三星自行研制的智能手机Tizen操作系统流产,但如今已经遭到了官方的否认. 英特尔三星双否认泰泽Tizen系统已死 三星官方称其一直都在与合作伙伴着手于Tizen系统的开发以及研制,首款搭载Tizen系统的手机将会以同运营商以及Tizen应用合作伙伴的形式与广大消费者见面. 英特尔官方声明也称其公司对Tizen系统十分重视. “Tizen已经获得了Tizen项目合作伙伴以及广泛的行…
1 前言 经过多年的企业信息化建设,Office系统逐步形成有9营业场所的分部门.9专业应用子系统.20独立的信息模块.330一种方法.这些系统或模块内置于Microsoft IIS.Apache Tomcat.Weblogic.Cordys BOP上,相互彼此独立.互不影响. 在不考虑反复投资.资源共享.便于运维的情况下,仍存在一些长期非常难解决的问题: (1).各个系统的组织.账号不统一.维护困难.         (2).在一些系统或模块中.对于人员跨部门的情况.仍以两个及以上账号的方式处…
Excel 菜单系统 在开始Excel开发之前,需要把架子搭起来.最直接的那就是Excel里面的菜单了,他向用户直观的展现了我们的插件具有哪些功能.菜单出来之后我们就可以实现里面的事件和功能了.Excel菜单有两种形式,一种是Excel 2003及之前的传统菜单样式,一种是Excel 2007及之后的Ribbon菜单.本文首先讲解Excel 2007中菜单的创建,包括使用Visual Studio可视化设计菜单,菜单的RibbonXml配置,然后讲解如何在Excel 2003中创建自定义菜单.最…
XMove是我和几个死党从2010年开始开发的一套人体动作捕捉系统,软硬件全部自行开发,投入了大量的精力,历经三年,发展四个版本. 今年春节回到老家,翻出了2011年春节时焊电路用过的松香和和硬盘角落里的代码.感慨万分,遂有此文.文章过长,分为两部分,本文为2010-2011年,XMove从第一代到第三代的故事. 诞生于考研的第一代 保研尚未确定,我挤在考研自习室里非常无趣,看到了一篇关于加速度传感器的新闻.也许是弥漫在空中的泡面味和臭脚味刺激到了我,我灵光一现,想到了利用这种传感器开发游戏控制…
对于网页重构来说,CSS禅意花园 是网页布局从 table 表格转到了 html +css 的标志 .这些年来,随着我们的网站越来越复杂:html5,css3,新的技术.新的属性,越来越多的开发者开始思考和尝试提高他们的 CSS 技能.那么我们从哪里着手呢?对于网页重构工作来说,我们应该养成什么样的开发习惯?一个糟糕的 css 用法是怎样的?我们应该怎么处理这些糟糕的 css.今天这篇文章,我将谈一谈10个我们应该避免的 css 糟糕用法,当然,我们也会分享怎么才是正确的用法. 为了方便大家理解…
客户关系管理系统(CRM系统)是管理公司当前以及未来潜在客户的系统,其主要目的是通过优化客户关系实现公司销售业绩的长期增长,它是企业信息系统的核心之一.目前,移动互联网.大数据以及人工智能技术发展日新月异,正在加速改变世界.但是在CRM等企业系统的构建和优化方法论上,却缺乏革命性的创新.本文作者在构建和优化CRM系统的过程中总结出一些新方法论,与当下的一些先进理念不谋而合.每个具体的理念虽然并非原创,应用在CRM系统构建中还算新颖,并且所有的理念一起构成一个完整的体系.希望这些对负责CRM系统开…
Android系统是基于Linux内核来开发的,在分析它在运行时库层的源代码时,我们会经常碰到诸如管道(pipe).套接字(socket)和虚拟文件系统(VFS)等知识. 此外,Android系统还在Linux内核中增加了一些专用的驱动程序,例如用于日志系统的Logger驱动程序.用于进程间通信的Binder驱动程序和用于辅助内存管理的匿名共享内存Ashmem驱动程序.在分析这些Android专用驱动程序的时候,也会碰到Linux内核中与进程.内存管理相关的数据结构. 因此,我们有必要掌握一些L…
目前,互联网行业正在朝着移动互联网方向强劲地发展,而移动互联网的发展离不开背后的移动平台的支撑.众所周知,如今在移动平台市场上,苹果的iOS.谷歌的Android和微软的Windows Phone系统已经形成了三足鼎立的形势,而Android系统的市场占有率是最高的.Android系统之所以能够在市场上占据着第一的位置,一来是因为它依托着谷歌的品德效应和技术实力,二来是因为它是开放的,任何人都可以得到它的源代码,并且能够自由地使用它.既然Android系统是开放的,作为一个移动平台开发人员来说,…
一. Android系统的源代码非常庞大和复杂,我们不能贸然进入,否则很容易在里面迷入方向,进而失去研究它的信心.我们应该在分析它的源代码之前学习好一些理论知识,下面就介绍一些与Android系统相关的资料. 我们知道,Android系统是基于Linux内核来开发的,在分析它在运行时库层的源代码时,我们会经常碰到诸如管道(pipe).套接字(socket)和虚拟文件系统(VFS)等知识.此外,Android系统还在Linux内核中增加了一些专用的驱动程序,例如用于日志系统的Logger驱动程序.…
导读:机房收费系统个人重构版,在寒假前,已经结束了.嗯,这一路的过程,也挺心酸的.结合师傅验收时的指导.建议,对这一段时间的学习,进行一个总结. 一.学习过程 这一阶段的学习,按照师傅给的建议是:由浅入深,逐步深入.所以,学习起来的困难没有太大.开始师傅是让好好领悟三层,跟我说把三层真正弄懂了,后面就比较顺利.所以,在三层的学习中,大概是花了半个月左右.学完三层,师傅就让先用三层敲通登录.添加 / 删除 / 查询 / 修改用户这五条线.可能也是之前的三层学的还算扎实,这五条线的完成都是比较顺利的…
房费制开始重建的最终版本. 前几天.刚刚看完三层的视频,在视频中具体的解说了一个登录功能.天真的我,当时以为三层结构是那么的简单,所以我草草地做完总结之后,就非常快就開始机房收费系统的重构了.但是谁想到.当我一打开编程软件,就让我"碰了一鼻子的灰"!首先是不知道vs 怎么用,其次就是看三层的时候,登录的实例使用C#写的,而这次我们须要用VB.NET写,所以对于当中的语法是知之甚少.尽管,前段时间我看了一遍台湾讲师--曹祖胜的<VB.NET 视频>.可是他讲的差点儿都是一些底…
编辑器加载中...http://www.cnblogs.com/yangecnu/p/Excel-Menu-System-Introduction.html 在开始Excel开发之前,需要把架子搭起来.最直接的那就是Excel里面的菜单了,他向用户直观的展现了我们的插件具有哪些功能.菜单出来之后我们就可以实现里面的事件和功能了.Excel菜单有两种形式,一种是Excel 2003及之前的传统菜单样式,一种是Excel 2007及之后的Ribbon菜单.本文首先讲解Excel 2007中菜单的创建…
对于网页重构来说,CSS禅意花园 是网页布局从 table 表格转到了 html +css 的标志 .这些年来,随着我们的网站越来越复杂:html5,css3,新的技术.新的属性,越来越多的开发者开始思考和尝试提高他们的 CSS 技能.那么我们从哪里着手呢?对于网页重构工作来说,我们应该养成什么样的开发习惯?一个糟糕的 css 用法是怎样的?我们应该怎么处理这些糟糕的 css.今天这篇文章,我将谈一谈10个我们应该避免的 css 糟糕用法,当然,我们也会分享怎么才是正确的用法. 为了方便大家理解…
本系列文章详细介绍使用 .net core 和 WPF 开发 升讯威在线客服与营销系统 的过程.本产品已经成熟稳定并投入商用. 在线演示环境:https://kf-m.shengxunwei.com 注意:演示环境仅供演示交流与评估,不保证 7x24 小时可用. 文章目录列表请点击这里 这个系列的文章,是用来填我2015年挖的一个坑.2015年6月我发表过一篇文章"使用 WPF+ ASP.NET MVC 开发 在线客服系统(一)",介绍了当时自己开发的客服系统概况,虽然当时系统的开发完…
C#插件构架实战 C# 插件构架实战 Jack H Hansen [ 2004-07-27 ] Keywords C# 插件 反射(System.Reflection) 属性(System.Attribute) 一.引言 1. 问题的引入 假设你设计的程序已经部署到用户的计算机上,并且能够正常运行了.但是有一天,用户打来了电话——他们要求增加新的功能.确定了用户的需求后,你竟然发现原有的软件架构已经无法胜任新增任务的需求——你需要重新设计这个应用了!但问题是,就算你又用了一个开发周期完成了用户需…
导读 过去的几个月内,UCloud对自身的云计算基础架构进行了全面升级,于日前宣布基础架构全面支持地域和可用区,并将可用区项目命名为Sixshot.通过这两层的设计架构来组织云服务,可以为用户提供高可用的云服务.随着可用区的推出,用户可以获得更灵活的资源规划能力和更强大的容灾设计能力. UCloud在很久之前就着手于可用区项目Sixshot的整体布局. 从2014年起UCloud 开始致力为分布在各个地区的数据中心建设高可用.高带宽的同城环网,将北京的多个主力机房的内网互相打通:其后在完善环网之…
背景 近期在做内部系统的重构,从一线业务彻底的重构,经过充分的考虑我们准备把这个项目打造成前台业务的试验站,比如ssr和一些其他的前沿技术的探索,积累充分的经验后待合适的契机应用到C端的项目中. 既然涉及到重构,避免不了老生常谈的话题技术选型.当然开始还是走了一些弯路,因为是后台项目,最重要的当然是快速迭代,基于此在UI层我们准备使用开源的方案,目前社区比较成熟的两种UI库(antdesign.elementUI)我们拿给UI同学对比,UI同学还是比较倾向于antdesign的,所以我们开始尝试…
时间都去哪儿了?         一晃而过,越来越能体会到这个词的真实感.特别是过了二十岁,这种感觉越来越深刻,越来越强烈,犹如小编做公交车的时候一直向后排排倒的香樟树,还记得有首歌叫时间都哪儿了,而后,这首歌传遍了大江南北,或许在电视机屏幕另一端的那个你,在听到旋律与歌词的那一瞬,你的心是否也被重重的戳了一下,因为她唱出了心声,击中内心最柔软的地方,你是否也像小编一样陷入了深深的沉思,就像歌词里面唱的那样:时间都去哪儿了?这些年,我们的时间都去哪儿了.都说岁月苍老了父母的容颜,苍老的何止是他们…
一周前我和 Tinyfool 闲聊苹果操作系统,都认为对于开发人员来说,苹果操作系统(MacOS)是上佳的选择.Tinyfool 笔头很快,当即就写了一篇长文章,我则笔头很慢,今天才全部码好.他的文章的主要切入点在于 Mac平台作为目标开发平台的优势,而我这篇的切入点主要是 MacOS 作为一种开发工具的优势. 开发人员的趁手工具 对于开发人员来说,所有的开发工具的最大的用途,就是最大限度的提高开发人员的生产率(productivity)和创造力(creativity).在我们这个时代,使用 G…