● 架构之美
文章平均质量分 61
dandanPMO
这个作者很懒,什么都没留下…
展开
-
es构成
面向文档Elasticsearch 是 面向文档型数据库,这意味着它存储的是整个对象或者 文档,它不但会存储它们,还会为他们建立索引,这样你就可以搜索他们了。你可以在 Elasticsearch 中索引、搜索、排序和过滤这些文档。不需要成行成列的数据。这将会是完全不同的一种面对数据的思考方式,这也是为什么 Elasticsearch 可以执行复杂的全文搜索的原因。jsonElasticsearch使原创 2017-08-15 16:49:47 · 901 阅读 · 0 评论 -
WorkFlow之理论篇
工作流是一类能够完全或者部分自动执行的经营过程,它根据一系列过程规则,文档、信息或任务能够在不同的执行者之间进行传递与执行。原创 2015-03-31 15:24:58 · 2445 阅读 · 8 评论 -
CAS入门
CAS协议定义了一组术语,一组票据,一组接口。 术语:Client、Server、Service、Proxy、Target。 接口:/login、/logout、/validate、/serviceValidate、/proxyValidate、/proxy 票据:TGT、ST、PGT、PGTIOU、PT Client、CAS Server、Service三者,是通过各种票据的传递与验证,来实现单点认证功能的。原创 2015-05-27 21:32:51 · 1813 阅读 · 14 评论 -
CAS工作原理
上一节我们说了CAS的一些基本知识,这一节我们说说CAS的工作原理以及一些在Tomcat上CAS-server的配置。 老师经常说一张图胜过千言万语,在学Cas的理论的时候也同时是一张图让我对CAS有了一个形象的了解: 下面解释下这张图: 老师经常说一张图胜过千言万语,在学Cas的理论的时候也同原创 2015-05-29 00:24:10 · 2546 阅读 · 19 评论 -
MVC框架概述
何谓MVC(Model View Controller):M是指业务模型,V是指用户界面,C则是控制器,使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。比如统计学生数据可以分别用柱状图、饼形图来表示。C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。原创 2014-11-29 15:45:58 · 9648 阅读 · 18 评论 -
MVC+easyui-datagrid之查看详情
在做GXPT时,我负责课表这块儿,而这块儿最大的特点是很难用到大家公共的东西,只能自己一点点去做,其中之一就是查看详情,这个功能我做了大概有两天时间,下面是我做的成果:原创 2015-01-31 19:43:07 · 4567 阅读 · 4 评论 -
AOP之基于@Aspect 注解与Schema(xml)区别
基于@Aspect 注解的AOP开发主要需要目标类、切面、配置文件。 调用关系如图: 首先引入jar包: 下载jar 目标类(HelloWorld):package com.demo.spring.aop;public class Helloworld { protected String message;//定义String 类型变量 public String getMes原创 2016-04-01 10:22:09 · 3090 阅读 · 3 评论 -
AOP之术语及增强类型简介
主要术语JoinPoint(连接点):一个要被拦截的方法 Pointcut(切点):在execution表达式里面声明的一个或多个方法被拦截方法的集合 advice (增强):应用在被拦截方法中的代码或者说函数,如,切面类中被@before(….)等注释了的成员函数 advisor:负责声明“建议”在什么时候被执行,比如说,在被拦截方法执行前@before(…) ,@afterReturn原创 2016-03-31 16:16:54 · 1329 阅读 · 1 评论 -
AOP从理论到实践(一)
背景:AOP(Aspect-Oriented Programming,面向方面编程),可以说是OOP(Object-Oriented Programing,面向对象编程)的补充和完善。OOP允许你定义从上到下的关系,但并不适合定义从左到右的关系。简单地说,AOP就是将那些与业务无关,却为业务模块所共同调用的逻辑或责任封装起来,便于减少系统的重复代码,降低模块间的耦合度,并有利于未来的可操作性和可维护原创 2016-03-31 15:23:51 · 937 阅读 · 8 评论 -
设计模式之简单模式与策略模式
最近在学习简单工厂模式与策略模式时,发现他们有很多相同之处,他们都是通过多态来实现不同子类的选取,比较难分辨,于是做了一下总结。 简单工厂模式用于比如算法之于加减乘除、水果之于苹果梨香蕉、文具之于笔尺,这些例子的共同特点就是具体、数量有限,不涉及复杂的算法,简单工厂模式只是解决了对象的创建问题,工厂类中封装了所有的选择过程,如果对象要增加、减少、变化,就要改动工厂,以至于代码的重写量原创 2014-02-12 20:59:48 · 1531 阅读 · 13 评论 -
WCF 内存入口检查失败 Memory gates checking failed
WCF 内存入口检查失败 Memory gates checking failed原创 2015-02-28 10:24:35 · 4125 阅读 · 7 评论 -
WorkFlow之实践篇
紧接上篇WorkFlow之理论篇我们来学一下如何进行操作:原创 2015-03-31 15:31:19 · 7192 阅读 · 10 评论 -
分布式锁2 Java非常用技术方案探讨之ZooKeeper
前言:由于在平时的工作中,线上服务器是分布式多台部署的,经常会面临解决分布式场景下数据一致性的问题,那么就要利用分布式锁来解决这些问题。以自己结合实际工作中的一些经验和网上看到的一些资料,做一个讲解和总结。之前我已经写了一篇关于分布式锁的文章: 分布式锁1 Java常用技术方案 。上一篇文章中主要写的是在日常项目中,较为常见的几种实现分布式锁的方法。通过这些方法,基本上可以解决我们日常工作中大部分场原创 2017-07-31 17:35:34 · 452 阅读 · 0 评论 -
分布式锁1 Java常用技术方案
前言: 由于在平时的工作中,线上服务器是分布式多台部署的,经常会面临解决分布式场景下数据一致性的问题,那么就要利用分布式锁来解决这些问题。所以自己结合实际工作中的一些经验和网上看到的一些资料,做一个讲解和总结。希望这篇文章可以方便自己以后查阅,同时要是能帮助到他人那也是很好的。第一步,自身的业务场景: 在我日常做的项目中,目前涉及了以下这些业务场景: 场景一: 比如分配任务场景。在这个场景中原创 2017-07-31 17:11:07 · 388 阅读 · 0 评论 -
http工作过程
最近做一个和其他公司通信的项目,用到了httpclient,通信过程用http,下面我们说一说http的工作过程网络四层工作过程地址解析如用客户端浏览器请求这个页面:http://localhost.com:8080/index.htm 从中分解出协议名、主机名、端口、对象路径等部分,对于我们的这个地址,解析得到的结果如下: 协议名:http 主机名:localhost原创 2017-02-21 19:37:54 · 2976 阅读 · 4 评论 -
kafka集群+zookeeper集群常见问题与命令
常见疑问1、生产者无法产生消息 kafka.common.FailedToSendMessageException: Failed to send messages after 3 tries. 将slf4j-nop-1.7.21.jar上传到kafka的lib包下 参考文章:http://stackoverflow.com/questions/23903843/apache-kafka-ex原创 2016-06-30 21:35:50 · 3926 阅读 · 0 评论 -
dubbo架构学习总结
dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。 同类型的框架,如:Apache Thrift、Hessian、RMI、Webservice、HSF、JSF dubbo可以和以下框架结合使用: 远程调用 : RMI、hassion、 webservice、 thrift 通信交互 : HTTP、mina、netty 序列化 : h原创 2016-06-30 21:26:51 · 954 阅读 · 1 评论 -
axis2生成webservice客户端代码及使用方法
1、axis2 下载地址axis2-1.6.2-bin.ziphttp://mirror.esocc.com/apache//axis/axis2/java/core/1.6.2/axis2-1.6.2-bin.zipaxis2-1.6.2-war.ziphttp://mirror.esocc.com/apache//axis/axis2/java/core/1.6.2/a原创 2016-01-31 17:57:31 · 10610 阅读 · 6 评论 -
MongoDB 启动 Failed to connect to 127.0.0.1:27017, reason: 由于目标计算机积极拒绝,无法连接。
MongoDB 启动 Failed to connect to 127.0.0.1:27017, reason: 由于目标计算机积极拒绝,无法连接。原创 2014-12-03 10:56:31 · 13676 阅读 · 14 评论 -
autoMapper-- 无缘也成有缘(一)
如果把Entity Framework比作机关枪,那实体类的属性就是子弹,每颗子弹只能攻击唯一对应的目标,在射击过程中,只要有一颗子弹攻击的目标不存在,机枪就会卡壳(子弹决定目标?)。这时,Entity Framework成为了一堆废铁。 为什么不由目标决定子弹?出现什么目标,用什么子弹,既节省子弹,又不会卡壳。也就是根据查询结果给对应的实体类属性赋值。难道这个新式武器也有设计缺陷,没有考虑到这样的应用场景?还是我们不会使用?原创 2014-12-30 20:15:09 · 1732 阅读 · 16 评论 -
WCF之旅
一 WCF与SOA SOA是一种通过为所有软件提供服务外观,并将这些服务的WSDL集中发布到一个地方的一种组织企业软件的方法。它通过使用明确定义的接口通过跨越边界传递消息来让多个自治的服务协同工作。SOA的真正价值是——允许开发者从代码中抽取出公共基础功能的实现,更多地关注业务逻辑和需要的功能特性。在开发SOA应用程序时,我们能够实现服务代码与客户端使用技术与平台的解耦,也与并发管理、事原创 2014-11-30 21:17:36 · 1198 阅读 · 8 评论 -
设计模式之部分-整体模式
组合模式: 是将对象组合成树形结构以表示‘部分-整体’的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。组合是对象的集合,而其中的任何一个对象又可能是一个组合,或者是一个简单的对象。在树形结构中,访问组合中所有的对象要求有一个简单的单一访问接口,但同时要求能够区分开节点和叶子。在构造组合的时候,我们需要决定哪个节点是元素哪个是叶子。在这里我们可以原创 2014-02-18 21:36:44 · 2262 阅读 · 16 评论 -
设计模式之观察者模式与事件委托
观察者模式:定义了一种一对多的依赖关系,让多个观察者对象同时监听某个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自己更新自己。 观察者结构模式图: 结合例子: static void Main(string[] args) { //老板dandan原创 2014-02-16 21:36:55 · 3133 阅读 · 17 评论 -
UML之用例图
用例图,是这几种图的核心图,从文档方面讲,它主要用于需求分析阶段,用户、开发人员沟通的一个通道,从UML方面讲,不管是哪种图,都是基于用例图的,有了用例图,一个系统就有了整体的框架,从用例图出发,再进入到设计、实现、集成测试阶段。 下面用一个简单的机房收费系统的例子做个示范,初次画,大家有什么问题就指出来,我非常愿原创 2013-12-12 20:48:34 · 2226 阅读 · 25 评论 -
设计模式之工厂方法模式
工厂方法模式:定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。 产生:说到工厂模式,我想大家就能想到简单工厂模式,由于在简单工厂模式中当需要扩展功能时就需要修改原类,这违背了开放-封闭原则,而工厂方法模式则将类的实例化延迟到子类,避免了类的修改,下面是两种模式结构图: 1、简单工厂模式结构图:原创 2014-02-15 16:06:01 · 1292 阅读 · 19 评论 -
UML之总结
这篇博客主要对UML视频用图的形式作了一个总结。原创 2013-12-12 11:30:07 · 1397 阅读 · 15 评论 -
软件工程之三大模型
在学习软工视频的时候,老师提到了三大模型,包括瀑布模型、原型模型和螺旋模型,下面,我就这三大模型做一些总结和个人的理解。 首先将这三种模型呈现给大家:一、瀑布模型二、原型摸型三、螺旋模型 这三个模型是逐步递进的,步步优化的。 瀑布模型:方便易用,降低了软件的复杂性;但它的缺点就是在需求分析之后,用户就不再参与开发,原创 2013-11-18 21:08:49 · 7914 阅读 · 27 评论 -
解析UML用例图之include与extend
关于include与extend的区别,在之前画UML图的时候并没有注意到,还是在画第二遍机房收费系统图验收的时候师傅提出来的,于是查了一些资料,我在机房收费系统中是这样用到include的: 我在一开始看过其他资料的时候大家都是这么用的,我也就想都没想惯性的用了include,但是也不知道原因,就自以为这两个用例都要用这个exportEx原创 2014-05-20 21:34:34 · 3149 阅读 · 11 评论 -
软件工程之信息隐蔽与模块独立性
最近看软工视频,老师提出了一个问题:信息隐蔽与模块独立性的联系,一开始我也不知道什么是信息隐蔽,模块独立还是略知一二,于是查了一下,自己总结了一些这二者之间的关系,与大家share! 首先介绍一下信息隐蔽 信息隐蔽是开发整体程序结构时使用的法则,即将每个程序的成分隐蔽或封装在一个单一的设计模块中,定义每一个模块时尽可能少地显露其内部的处理。信息隐蔽原则对提高原创 2013-10-27 21:52:46 · 9352 阅读 · 12 评论 -
三层加抽象工厂加反射加配置文件加SqlHelper
三层的例子敲的差不多了,为了对抽象工厂有个更好的理解,开始对三层进行加工,下面来对三层进行逐步更新,首先是看一下我画的包图: 包图为大家从宏观上展示了程序各层之间的调用关系,现在用类图展示一下详细的调用关系: 通过包图和类图能够比较清晰的知道各个包之间的调用关系,通过时序,可以原创 2014-04-04 17:40:52 · 1825 阅读 · 28 评论 -
设计模式之单例模式
单例模式: 保证一个类仅有一个实例,并提供一个访问它的全局访问点。通常我们可以让一个全局变量是使得一个对象被访问,但它不能防止你实例化多个对象。一个最好的办法即时让类自身负责保存它的唯一实例。这个类可以保证没有其他实例可以被创建,并且它可以提供一个访问该实例的方法。 结构图:原创 2014-02-19 20:18:05 · 1262 阅读 · 16 评论 -
设计模式之建造者模式与工厂方法模式
建造者模式: 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 建造者模式结构图: 产品类(Product):一般是一个较为复杂的对象,也就是说创建对象的过程比较复杂,一般会有比较多的代码量。在本图中,产品类是一个具体的类,而非抽象类。实际编程中,产品类可以是由一个抽象类与它的不同实原创 2014-02-16 15:53:35 · 2608 阅读 · 16 评论 -
UML之九图概述
本博客主要对UML中提到的九种图进行系统的概述,描述这几种图的特点,以及应用等。原创 2013-12-04 21:34:32 · 2278 阅读 · 35 评论 -
设计模式之装饰模式
装饰模式,动态的给一个对象添加一些额外的职责,就增加功能而言,装饰模式比生成子类更为灵活。这种模式可以有效的将类的核心职责和装饰功能区分开来。原创 2014-02-15 14:02:16 · 1288 阅读 · 13 评论 -
设计模式之代理模式
代理模式,我想大家一听表面的意思能得到一些信息,就是代理工作,为什么会产生这种模式呢?因为它可以使面向对象的复用性和灵活性增强。用一个很形象的例子来说明一下,比如说一张支票或银行汇票是对一个账户上资金的代理,支票能代替现金购买,最终能控制访问开证人账户上的现金,如果我们拿几车现金去购买东西,岂不是很费力,而用一张小小的支票代理就完全搞定了。 下面是代理模式的结构图:原创 2014-02-13 20:23:21 · 1340 阅读 · 13 评论 -
软件工程之五个层次四个部分
在面向对象技术这一章中,提到了“五个层次”和“四个部分”,对于这两方面以及关系做了一下总结。 首先,说一下“五个层次”。OOA(面向对象的分析)模型由5个层次(主题层、对象类层、结构层、属性层和服务层)组成。OOA有两个任务,形式地说明我们所面对的应用问题,最终成为软件系统基本构成的对象,还有系统所必须遵从的,由应用环境所决定的规则和约束;明确地规定构成系统的对象如何协同合作,完成原创 2013-11-05 21:40:23 · 15508 阅读 · 18 评论 -
UML之对象图、类图、包图
这篇博客主要讲述了UML中对象图、包图、类图之间的联系、区别,用一些简单形象的小例子为大家陈述了理论的知识,简单易懂原创 2013-12-09 11:34:18 · 2943 阅读 · 37 评论 -
设计模式之面向对象基础
最近看设计模式,这本书我特别喜欢,内容也很好理解,读起来有些上瘾,哈哈,一开始看了看面向对象基础,之前接触过面对对象基础,对面向对象三大特性有了进一步的理解,下面做个总结: 1、封装 概念:每个对象都包含它能进行操作所需要的所有信息,这个特性称为封装。 理解:就像一个大盒子原创 2014-02-10 16:24:04 · 1509 阅读 · 26 评论 -
设计模式之备忘录模式
备忘录模式: 在不破坏封装性的前提下,铺货一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。 备忘录模式结构图: Originator(原生者): 需要被保存状态以便恢复的那个对象。原创 2014-02-18 15:02:29 · 1267 阅读 · 17 评论 -
ADO.net之导入数据
在学习完三层之后,发现有很多欠缺的地方,于是找了一些资料进行补充,在看ado视频时在敲导入导出文件的代码时很是困惑,原因是对OpenFileDialog控件的方法还是不熟悉,首先给大家展示一个简单但写的很繁琐额程序:private void btnInput_Click(object sender, EventArgs e) { if (ofdInput原创 2014-03-15 19:37:01 · 1398 阅读 · 25 评论