随笔分类 - [20]DesignAnalysis设计分析
-
小型网站快速建设
摘要:小型网站快速建设(将草图快速框架出来)一、草图阶段上次写了小型网站快速建设的文章,受到了很多前辈和同行的指导,当然也有批评,那一篇文章的主要想法是在做小型项目的时候不要太拘泥于细节,在把握好大方向的前提下先把自己想要的描述出来,大家可以看原文:http://www.cnblogs.com/maiti... 阅读全文
-
Extension Objects(扩展对象)
摘要:设计模式之美:Extension Objects(扩展对象)索引意图结构参与者适用性效果相关模式实现实现方式(一):使用示例结构实现 Extension Objects。实现方式(二):使用泛型实现 IExtensibleObject 接口。意图预期对象的接口将在未来被扩展。通过额外的接口来定义扩展... 阅读全文
-
Repository模式
摘要:Repository模式完全实战引发的思考--前言:这个月请假出去玩了几天,当了几天文艺青年,回来之后任务稍微紧了一点。放松之后回归正轨,好久没写了,也没什么好的东西值得分享,对于之前的文章好多朋友留言了,看来博客园的同学们对于技术还是比较踏实的。关于其中的一些问题有的我没有遇到过,我也不敢妄下断言... 阅读全文
-
MVC, MVP, MVVM比较以及区别(上)
摘要:MVC, MVP, MVVM比较以及区别(上)MVC, MVP和MVVM都是用来解决界面呈现和逻辑代码分离而出现的模式。以前只是对它们有部分的了解,没有深入的研究过,对于一些里面的概念和区别也是一知半解。现在一边查资料,并结合自己的理解,来谈一下对于这三种模式思想的理解,以及它们的区别。欢迎各位高手... 阅读全文
-
框架设计--服务总线
摘要:WisDom.Net 框架设计--服务总线1.Soa 简介soa 就是面向服务的体系结构 是一个组件模型,不同的组件之间通过定义良好的接口联系起来。就像盖房子一块砖头一块砖头的砌墙,一片一片的加瓦。SOA架构的思想就主张不要再一块砖一片瓦的干,一面墙一个屋顶一根梁等等都是人家做好的,拿过来自己搭起来... 阅读全文
-
工作流运转模型
摘要:F2工作流引擎之 工作流运转模型(三)1流程单起点单终止模型单起点:一个流程定义必须有且唯一起点单结束点:一个流程定义必须有且唯一结束点。约定:提单与结束是每个流程必须有的活动,且唯一只有一个提单和结束。2串行模型描述:串行(Sequence)是最为简单,也最为容易理解的模型。按照预定的任务列表,有序的执行。3自循环模型描述:一个步骤可以自己再次发给其它人员但步骤是同一个。同一个任务节点,重复的执行多次。又分两种类型:1、 自由循环FreeCycle在任务执行后由人为的决定是否继续重复的执行这次任务(自由度大)2、 联合审批循环JointCycle在任务执行后照设定的规则,决定是否重复执行。( 阅读全文
-
网页启动Windows服务
摘要:如何在网页启动Windows服务由于公司有许多windows服务进行业务的处理,所谓对服务的维护也是一个比较头痛的问题,因为自己也不知道服务什么时候自动停了,而且更主要的原因是服务都是由运维部门在维护管理,开发这边没有直接操作服务的权限,所以利用网页监控服务就很重要了(在服务中也可以增加邮件提醒,比如服务报错或者断掉)。如何获取电脑上的所有服务:使用.Net框架类库中自带的组件ServiceController可以实现对 Windows服务的操作。1、首先要在你的项目添加引用System.ServiceProcess命名空间;2、创建ServiceController的实例;//获取当前计算机 阅读全文
-
单点登录(SSO)实现方式
摘要:谁都能看懂的单点登录(SSO)实现方式(附源码)SSO的基本概念SSO英文全称Single Sign On(单点登录)。SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。它包括可以将这次主要的登录映射到其他应用中用于同一个用户的登录的机制。它是目前比较流行的企业业务整合的解决方案之一。(本段内容来自百度百科)今天这篇文章将介绍SSO的一种实现方式,代码超简单,仅用来验证我的思路是否可行,具体细节请大家来完善!二级域名的单点登录什么是二级域名呢?例如:site1.domain.comsite2.domain.com对于二级域名的单点登录,我们可以非常方便的通过共享co 阅读全文
-
MVP的PV模式与SC模式
摘要:MVP的PV模式与SC模式 MVC是现今挺被推崇的一种架构模式,而MVP在MVC的基础对视图与模型上再解耦,使结构和各自的功能也有所改变。在去年鄙人也尝试了一下使用MVP做了一个小Demo,作为了MVC的一个变体,MVP还分了两种模式,这个之前是不了解的,直到看了蒋老师的著作才知道。 在MVP里面重点还是看View与Presenter之间的交互,View可以直接去调用Presenter,但Presenter对View的调用不是直接去访问View的实例,而是通过由View去实现的一个IView接口。唉MVP中能看到的就是这种对象与对象之间的交互,在细化一点去看,处理UI的逻辑部分搁在View里. 阅读全文
-
EasyUI搭建前端框架
摘要:EasyUI搭建前端框架前言:最近在忙公司的项目,也没太多时间来更新博客,谢谢大家的关注。好啦,有了前面的系统整体简介和用户登录界面,我们开始使用EasyUI搭建前端页面框架!EasyUI官方API中文版,这里给大家提供三个版本(本系统采用的是1.3.2版本):1.3.0:http://pan.baidu.com/s/1eQiQHoA1.3.2:http://pan.baidu.com/s/1pJkAmDX1.3.5:http://pan.baidu.com/s/1bnGgMB11.3.5是最新的版本。正题:布局呢,还是采用比较经典的左右布局吧,左边菜单导航,右边TAB页,每一个TAB页均为一 阅读全文
-
体系结构
摘要:NET和JAVA的比较系列(1)- 体系结构.NET体系结构对于.NET Framework体系结构,参考了"你必须知道的.NET"并”借用“别人的经典体系结构图从宏观上说明一下我的理解。图1简单的说下几个名词:CLR:通用语言运行平台(Common Language Runtime),是.NET框架的核心,与Java界的JVM类似。是代码执行的大管家,提供CTS和基础服务。FCL:类库(Framework Class Library),如图所示提供了很多的标准类型,方便程序设计人员,完成了程序设计基础性工作,作为初学者要知道怎么用这些类库。类库的根就是System。BCL 阅读全文
-
网站的技术升级路线
摘要:《大型网站技术架构》读书笔记 - 网站的技术升级路线内容目录:1.初始架构2.应用服务与数据分离3.使用缓存改善网站性能4.应用服务器集群化5.数据库读写分离6.使用反向代理和CDN7.使用分布式FS和分布式DBS8.使用NoSQL和搜索引擎9.业务拆分附:思维导图《大型网站技术架构》读书笔记 - 网站的技术升级路线本文描述网站从小到大演变过程中的技术升级路线;1.初始架构一台服务器,应用、DB、文件都在一块,使用经典的LAMP模式构建整个站点;优点很明显,开发部署都简单,船小好掉头,做不起来也亏不了多少;2.应用服务与数据分离随着访问量的增长,出现问题了:web性能变差,数据存储空间不够这时 阅读全文
-
DotNET应用架构设计指南 安全 运行管理和通讯策略
摘要:DotNET应用架构设计指南(第三章:安全 运行管理和通讯策略(13-16))安全运行管理和通讯策略组织策略定义的规则是支配应用程序如何安全,如何管理,不同的应用程序组件是如何和另一组件及外部服务进行通讯的。这些策略会影响应用程序或者服务的每一层的设计,如图3.1所示。图3.1应用程序设计方面组织策略的影响策略不仅是在组织层面决定的,而且它们也可能被组织内所决定。在一些情况下,区域的考虑是有益的—如果共享一个策略的子集,所有的应用程序,服务,甚至应用程序各层都是在同一个区域。例如,面向Internet的数据中心,相对于公司基础结构的其余部分,有不同批量的策略,与应用程序其它部分相比,为指定区域 阅读全文
-
业务扩展演变
摘要:业务扩展演变hello,大家好,我是方少,世上不如意事十有八九吧,即使你感到很满意,也有人感觉太差了,总得感觉我们技术人员都是一个人在战斗,感情却是最深的,一起吃过苦才难忘吧。娇妻艳女,你失意了会和你一起吃苦吗?往往会把你抛弃了。一个产品最重要的人,肯定是最了解业务的人,渠道为王嘛,哪儿有需求,哪儿就有渠道,看下图,具体业务扩展导维图这是一般公司的结构图吧,少了个质量管理系统(测试部门的),回头加上。上图解释如下1 数据增多建议 a 不建议连表查询,不利于分库分表 b 按业务分库分表,不要以技术来分,比如用户id和用户帐号,用来个分表好? 用户帐号有窃取的可能噢,当然你可以加密,如果不嫌麻烦 阅读全文
-
映射性能大比拼
摘要:EmitMapper,AutoMapper,NLiteMapper和手工映射性能大比拼 在大比拼之前先讲一个小插曲,我这个人以前比较低调,做了很多好东西仅仅在公司内的朋友圈项目圈内分享,很少在博客园内进行分享,后来在dudu 老大的文章博客园现代化建设——AutoMapper有感便推荐一下OOMapper组件,于是乎接连写了几篇入门性的介绍使用文章:开发人员必备工具:OOMapperOO Mapper 实践(上篇)OO Mapper 实践(下篇) 在园友Repository兄的NLiteMapper与EmitMapper性能简单比较中了解到NLiteMapper与EmitMapper的性能巨. 阅读全文
-
c#开源消息队列中间件EQueue 教程
摘要:c#开源消息队列中间件EQueue 教程一、简介EQueue是一个参照RocketMQ实现的开源消息队列中间件,兼容Mono,具体可以参看作者的文章《分享一个c#写的开源分布式消息队列equeue》。项目开源地址:https://github.com/tangxuehua/equeue,项目中包含了队列的全部源代码以及如何使用的示例。二、安装EQueueProducer、Consumer、Broker支持分布式部署,安装EQueue需要.NET 4, Visual Studio 2010/2012/2013. 目前EQueue是个类库,需要自己实现Broker的宿主,可以参照QuickStar 阅读全文
-
前端MVVM框架设计及实现
摘要:前端MVVM框架设计及实现(一)最近抽出点时间想弄个dom模块化的模板引擎,不过现在这种都是MVVM自带的,索性就想自己造轮子写一个简单的MVVM框架了借鉴的自然还是从正美的avalon开始了,我记得还是去年6月写过一个系列的avalon源码分析的,不过那时候0.7版本,不够健全,现在已经好太多了框架是面向一个领域,提供一套解决方案,那么我们用前端的MVVM能为我们带来什么便利?关注点分离操作数据即操作DOM动态模板关注点分离是MVVM与身俱来的,操作数据即操作DOM,是VM中的访问器带来的,动态模板是流程绑定实现的。关于MV*的讨论太多了,这里不在讨论,我们重点就是分析如何实现前端MVMM框 阅读全文
-
数据传递型情景下事件机制与消息机制的架构设计剖析(一)
摘要:数据传递型情景下事件机制与消息机制的架构设计剖析(一) 公司一个项目中有这样一个情景:这是一个C/S架构的软件,S端采集各类第三方系统数据,传输到C端,然后在C端将数据整合成一个个的业务对象,同时针对各类业务对象,编写了相应的展示UI;用户在二次开发时,根据实际需要将业务对象与展示UI进行匹配,最后形成对第三方系统数据的动态显示。其实说白了就是类组态软件,这个在很多行业都有类似的软件。 在这个场景中,实际上涉及到这样一种需求:要求业务对象的数据变化能够传递到UI对象中,以触发UI对象的展示逻辑,进而形成实时动态数据显示。 在设计C端架构时,针对这个需求,我和同事提出了两种架构设计:第一种... 阅读全文
-
推荐系统对外服务接口解决方案
摘要:推荐系统对外服务接口解决方案留意Netfix的推荐系统的架构,我们可以看到他们公司的推荐系统有明显的分层,分别为离线、近线和在线推荐,各部分职责明确,共同为用户提供推荐服务。将其系统做最大的简化,剩下两部分,离线计算和在线推荐服务,前者通过在内存或Hadoop中计算相似度(或者使用基于模型的方法)为后者提供推荐结果数据,而后者就是直接与外部系统进行对接的Web Service系统,把推荐结果数据返回给外部系统。推荐系统的这一层对外服务接口将是本文阐述的内容。关键词:推荐系统,WebService,NodeJS,Restify,推荐反馈一. 概述这一层对外服务接口需要做什么主要职责:接收外部系统 阅读全文
-
基于A2DFramework的事件机制实现
摘要:随笔- 102 文章- 3 评论- 476发布订阅 - 基于A2DFramework的事件机制实现SUMMARY能做什么DEMO原理图应用场景能做什么A2DFramework的事件机制是基于发布订阅模式改进得来的一套API,中间件部分实现了msmq、redis、Supersocket可替换。能够实现较彻底的模块事件传递过程中的解耦,支持分布式环境。由于订阅端采用了消息队列作为转发层,因此也能支持事件量很大的场景。DEMODemo工程下载地址(可右键保存):发布订阅Demo.rar一、建立各个工程,并且加入A2DFramework.EventService的引用二、给各个工程加入A2D基本代码, 阅读全文