
设计模式
文章平均质量分 86
Imadone
人生如戏唱,还有谁登场
展开
-
四色原型
在领域驱动设计中讲到,四色原型是一种领域建模方式,可以得到所谓的四种抽象模型。什么东西(包括位置place、部分part、物件thing)简称ppt东西类型description简称desc以什么角色role发生什么事MI以上便是四种原型,每一种都用特定的颜色区分,如上面文字背景颜色。除此之外,MI还会细分为MIDetail,即明细。以论坛业务上下文为例进行建模:原创 2017-11-19 18:25:07 · 1440 阅读 · 0 评论 -
策略模式——王者农药匹配机制用例解析
说到策略模式,大家容易联想到战术、套路。商家在做销售的时候,针对不同的消费群体而制定不同的推销策略。对了策略模式而言,跟其他的设计模式一样。原本没有的路,人走多了,自然就有了套路。这里就策略模式的套路进行解析。一个例子要用什么例子来讲解,我想了很久。诸如一些计税规则几何计算规则等等。但是这些例子一个比较老旧,而且简单的体现不出模式好处,复杂的却也晦涩。我想找一个更加有趣贴近日常的例子。一款火爆了一...原创 2017-11-12 01:00:39 · 3407 阅读 · 5 评论 -
领域驱动设计——关于值对象概念和争议
值对象VO,顾名思义,也就是代表着值的对象,它通常是被当做一个值来使用。回想一下,在经典的算法编程里面,值是如何使用的?int count(int x,int y){return x+y;}就像这样的变量x y,使用某个值,也就是传一个数值,它不具有状态,生命周期,仅仅给更高层的单位提供数据。值对象就是将上述的变量x y提升到了对象级别,可以提供一组数据。从更高的角度来讲,原创 2017-11-19 04:53:43 · 718 阅读 · 0 评论 -
SOA有关内容
SOA,面向服务架构,特征:在服务层面开始规划,以服务松散耦合,服务可编排,服务可重组,服务可复用,服务标准化封装,并且还需要ESB企业服务总线实现服务的接入、调用、协议转换、数据转换。相关内容:有一些类似soa或跟soa有关系的东西SDO服务数据对象,一种数据编程架构和api,创建一个数据接入层,可以给业务提供对应的数据对象,而业务不必考虑如何组装,构造,和实际类型。SCA服务组件框原创 2017-12-09 01:10:27 · 350 阅读 · 0 评论 -
领域驱动设计有关内容
领域模型:贫血模型 DCI架构DDD领域对象 聚合 根聚合 聚合对象通讯:消息依赖Order Process Manager流程对象 领域事件基本责任 交互责任(角色责任)四色原型迪米特法则cqrs思想领域服务--跨聚合等功能《Domain-driven design:领域驱动设计:软件核心复杂性应对之道》 Martin Flower的《原创 2017-12-09 01:14:21 · 357 阅读 · 0 评论 -
领域建模过程的产出——容易被忽略的核心环节
任何不规定每一个环节的必需品和产出物的开发过程,都是耍流氓。1、主要业务流程图2、角色划分图及其说明3、领域关系图4、角色-通用领域图5、四色原型类图6、聚合类图有的人给出聚合模型,但是只字不提跟流程图、用例图的那个关系,产出物和必需品只字不提。有的人的领域图直接当做流程图使用。有的人给出的领域图都是草图,非常不严谨有的人从流程图直接跳到类图聚合,虽原创 2017-11-22 19:45:13 · 731 阅读 · 0 评论 -
对于开发语言闭包实现的理解
闭包不是某些编程语言的专属,它是一种编程模式。不同的语言对闭包的支持和实现方式是不一样的,例如Groovy和JavaScript等动态语言可以实现方法级别的闭包,像java这样的语言只能从类级别开始实现。先来看各种闭包如何实现:javascript:这段脚本里面,say函数中定义了con和end引用的匿名函数,这么做就称为闭包,其实意图很明显,只希望con和匿名函数在say函数中可见,对外部隐藏,...原创 2017-12-16 20:39:27 · 387 阅读 · 1 评论 -
github操作整理
Github是一个分布式版本管理团队合作系统,https://github.com/分布式版本管理系统的几大基本要素:仓库、爬取、提交、发布、合并不管是github或者是svn等,都是遵从这几个流程来办事的,只是叫法不一样,其他的操作都是从这些环节中衍生出来的。仓库(repository):通常作为一个项目的根或者某些资料存储目录的根,通常存放项目的主线版本及快照,也就是所谓的基线。爬取 (fet...原创 2018-03-15 23:00:08 · 346 阅读 · 0 评论 -
说说python跟java的区别
编程语言至今还是认为两大类,动态和静态。动态指运行时编译,静态指先编译后运行。目前来讲,没有说哪一种是绝对有利的,只能说择优使用。我是从静态到动态学习的,也有人是动态到静态的学习,而我见的更多的是学着静态就放弃转而学习动态语言了。如果先学习静态语言,那么对人的耐心有很大考验,一开始要大量的记忆数据类型和基础语法,再到面向对象,这是个不小的挑战,特别是java这种庞大的面向对象语言,从入门到熟练是一...原创 2018-03-05 23:00:00 · 531 阅读 · 0 评论