随笔分类 -  设计模式

摘要:互联网金融是最近几年的长期风口,它经历了野蛮生长期,目前处于强监管期,2016 年 8 月 24 日出台的《网络借贷信息中介机构业务活动管理暂行办法》中明确要求“网络借贷信息中介机构应当实行自身资金与出借人和借款人资金的隔离管理,并选择符合条件的银行业金融机构作为出借人与借款人的资金存管机构。” 截 阅读全文
posted @ 2017-07-18 11:01 左正 阅读(1519) 评论(0) 推荐(0) 编辑
摘要:本文是学习大型分布式网站架构的技术总结。对架构一个高性能,高可用,可伸缩,可扩展的分布式网站进行了概要性描述,并给出一个架构参考。一部分为读书笔记,一部分是个人经验总结。对大型分布式网站架构有很好的参考价值。 本次分享大纲如下 大型网站的特点 大型网站架构目标 大型网站架构模式 高性能架构 高可用架 阅读全文
posted @ 2017-07-17 11:42 左正 阅读(247) 评论(0) 推荐(0) 编辑
摘要:本文是笔者多年来积累和收集的知识技能图谱,有的是笔者原创总结的最佳实践,有的是小伙伴们的分享,其中每个秘籍图谱里面的内容都是互联网高并发架构师应该了解和掌握的知识,笔者索性把这些图谱收集在一起,并且归类便于查找和学习,希望能够帮助到每一位想成为架构师或者已经是架构师的小伙伴,这里我们的标题“史上最全 阅读全文
posted @ 2017-07-17 10:27 左正 阅读(3486) 评论(0) 推荐(0) 编辑
摘要:CQRS是Command Query Responsibility Seperation(命令查询职责分离)的缩写。 世上很多事情都比较复杂,但是我们只要进行一些简单的分类后,那么事情就简单了很多,比如我们把人分为男人和女人,也可以把人分为大人和小孩,还比如,我们说国内和国外,城市和农村。经过一些类 阅读全文
posted @ 2017-07-13 18:34 左正 阅读(923) 评论(0) 推荐(0) 编辑
摘要:前言 上一篇讲了事件,以及为什么要使用事件,主要是为了解耦,但是有同学就问了,同步如果订阅事件的人太多,比如13亿人都关心上头条的事,那么RaiseEvent得等13亿人都处理完,那得多久呀,从此再也不敢发事件了。 举个例子,你在网上下单,下完单要通知库房,甚至要通知供应商补货,如果都是同步的话,消 阅读全文
posted @ 2017-07-13 18:30 左正 阅读(1155) 评论(0) 推荐(0) 编辑
摘要:前言 上一篇说到为什么要使用事件驱动,但是只有概念是不够的,我们要代码呀!记得脸书的老总说过: “Talk is cheap, Show me the code!” 实现思路 发出事件 事件顾名思义就是一件事情发生了,比如我要上头条,这不是一个事件,这事一个Command, HeadCommand, 阅读全文
posted @ 2017-07-13 18:25 左正 阅读(262) 评论(0) 推荐(0) 编辑
摘要:前言 今天讲一下事件驱动,这个不是领域驱动设计里的事件源(Event Source), 这个以后再讲,今天主要讲一下如何用事件来解耦,主要的原因是我们有个项目有个功能我觉得用事件的方式比较好,正好写篇博客,就不用专门给他们讲了。 解耦 说到解耦,我们很熟悉分层设计,比如上层依赖于抽象,不依赖于具体的 阅读全文
posted @ 2017-07-13 18:15 左正 阅读(296) 评论(0) 推荐(0) 编辑
摘要:所谓模式,就是在某种场景下,一类问题及其解决方案的总结归纳。生产消费者模式与订阅发布模式是使用消息中间件时常用的两种模式,用于功能解耦和分布式系统间的消息通信,以下面两种场景为例: 数据接入 假设有一个用户行为采集系统,负责从App端采集用户点击行为数据。通常会将数据上报和数据处理分离开,即App端 阅读全文
posted @ 2017-07-12 17:32 左正 阅读(2266) 评论(0) 推荐(0) 编辑
摘要:本文大纲: 1. RabbitMQ简介 2. RabbitMQ安装与配置 3. C# 如何使用RabbitMQ 4. 几种Exchange模式 5. RPC 远程过程调用 6. RabbitMQ高可用集群搭建 一、RabbitMQ简介 1、介绍 RabbitMQ是一个由erlang开发的基于AMQP 阅读全文
posted @ 2017-07-12 10:46 左正 阅读(500) 评论(0) 推荐(0) 编辑
摘要:1. 概述 当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。 2. 解决的问题 主要解决的是当控制一个对象状态转换的条件表达式过于复杂时的情况。把状态的判断逻辑转移到表示不同的一系列类当中,可以把复杂的逻辑判断简单化。 3. 模式中的角色 3.1 上下文环境(Context) 阅读全文
posted @ 2017-02-23 18:29 左正 阅读(306) 评论(0) 推荐(0) 编辑
摘要:本文内容提要: 1. 领域驱动设计之领域模型 2. 为什么建立一个领域模型是重要的 3. 领域通用语言(Ubiquitous Language) 4. 将领域模型转换为代码实现的最佳实践 5. 领域建模时思考问题的角度 6. 领域驱动设计的标准分层架构 7. 领域驱动设计过程中使用的模式 关联的设计 阅读全文
posted @ 2016-08-18 20:44 左正 阅读(579) 评论(0) 推荐(0) 编辑
摘要:经常听到领导教诲,开发的同事应该要往前走一步,去做产品?去做售前?这也是一种方式,只不过是一大步。个人觉得,在迈出这一大步之前,需要先走出一小步:从写好代码到做好设计。 下图是按照软件工程的通用做法,梳理出的标准设计指南,已经非常清晰地定义了软件设计的阶段和活动,产物规约,文档要求以及需要配合的培训 阅读全文
posted @ 2016-08-18 20:36 左正 阅读(1416) 评论(0) 推荐(0) 编辑
摘要:软件开发要干什么: 反映真实世界要自动化的业务流程 解决现实问题 领域Domain Domain特指软件关注的领域 在不能充分了解业务领域的情况下是不可能做出一个好的软件 领域建模 领域模型驱动设计 } 分层架构 } 实体 } 值对象 } 服务 } 模块 } 聚合 } 工厂 } 资源库 分层架构: 阅读全文
posted @ 2016-08-18 20:31 左正 阅读(485) 评论(0) 推荐(1) 编辑
摘要:DTO即数据传输对象。之前不明白有些框架中为什么要专门定义DTO来绑定表现层中的数据,为什么不能直接用实体模型呢,有了DTO同时还要维护DTO与Model之间的映射关系,多麻烦。然后看了这篇文章中的讨论部分才恍然大悟。摘两个比较有意义的段落。表现层与应用层之间是通过数据传输对象(DTO)进行交互的,... 阅读全文
posted @ 2015-08-28 14:28 左正 阅读(421) 评论(0) 推荐(0) 编辑
摘要:如题,实际上,我想这是很困难的。除非——只是为了给自己做一个提醒,能够看一眼就快速回想起该设计模式的种种记忆。下列是我之前在学习《大话设计模式》时做的笔记总结,当中有部分措辞来自其作者程杰。(非常感谢他为神秘的设计模式搭建了如此平滑的学习通道)1. 创建型:(1)单例:只需一个实例时考虑。(2)工厂... 阅读全文
posted @ 2015-08-03 09:22 左正 阅读(196) 评论(0) 推荐(0) 编辑
摘要:1:创建类型的设计模式(Creational Pattern) 是对类的实例化过程的抽象化,告知如何有效地进行一个类的实例化。这类的设计模式包含5种,分别是工厂模式(Factory Method)、抽象工厂模式(Abstract Factory)、单键模式(Singleton)、建造模式(Builder)、原型模式(Prototype Pattern)。(1):工厂模式(Factory Method)工厂方法模式定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method 使一个类的实例化延迟到其子类。(2):抽象工厂模式(Abstract Factory)抽象工厂模式提 阅读全文
posted @ 2011-04-17 12:14 左正 阅读(452) 评论(0) 推荐(1) 编辑
摘要:2011-4-16 21:30:38 水人家说在设计框架时,都是按需求来设计框架的,2011-4-16 21:30:43 水这样说对吧?2011-4-16 21:31:08 水那为啥我看我们这项目的框架都差不多呢,2011-4-16 21:31:50 老板呵呵,那是因为对与一些应用来说,基础开发大致基础都是哪些东西2011-4-16 21:32:09 老板比如说,现在还在很多JAVA开发,一问项目用了什么框架,SSH2011-4-16 21:32:33 老板好像SSH是能代表所有项目框架似的,实际上是差的很多2011-4-16 21:32:43 水是啊,2011-4-16 21:32:51 水 阅读全文
posted @ 2011-04-16 22:29 左正 阅读(600) 评论(0) 推荐(1) 编辑
摘要:设计模式这个词无论是从字面上还是从具体意义上看都有着一种与众不同的气质.单说设计和模式都是够份量的词. 名词解释:引自百度知道 设计: 人类通过劳动改造世界,创造文明,创造物质财富和精神财富,而最基础、最主要的创造活动是造物。设计便是造物活动进行预先的计划,可以把任何造物活动的计划技术和计划过程理解为设计.意指有目标和计划的创作行为. 模式: 前人积累的经验的抽象和升华。简单地说,就是从不断重复出现的事件中发现和抽象出的规律,是解决问题的经验的总结。只要是一再重复出现的事物,就可能存在某种模式。 一般一听说别人是搞设计的都非常佩服,无论是否是IT行业,觉的做设计的总是能从全局出发,均衡 阅读全文
posted @ 2010-12-24 19:12 左正 编辑
摘要:这两种模式为所有的应用提供了基础.打个比方,如果把程序想像成一座房子,这两种模式就是为这座房子提供的地基和墙壁.实现Bridge模式:Bridge模式是将现实与意图(当以某种方式创建类时称为定义意图)分离开来.软件工业中最大的问题之一是变化,不是说变化是很糟糕,而是说变化是现实生活中的一种现实.许多架构师和开发者都试图尽量减少变化,或者通过能适应未来的应用或者设计来降低破坏性.能适应未来是指给应用添加一些能够避免其过早过时的特征.通长在适应未来的讨论中,我们经常会听到像平台无并,互用性,语言无关,位置透明以及灵活的应用环境等.适应未来字面意思是对未来的把握,但这是不可能的.我们应该把术语适应未 阅读全文
posted @ 2010-12-19 15:58 左正 编辑