![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
架构与设计模式
文章平均质量分 52
求知不倦
这个作者很懒,什么都没留下…
展开
-
领域模型驱动应用心得....
几乎每种语言、开发框架和工具面世时,都号称要把开发人员解放出来,让他/她们更加关注于业 务逻辑的处理。但目前的工作状况是,每当一个新的“解放工具”出现,就会有众多的技术狂热者蜂拥而上,而忽略了他们最应该关注的业务逻辑部分。还好,从 2004年开始,“领域驱动设计”的声音开始浮现,开始逐渐扭转这种局面。 领域驱动设计词解 尽管提出人Eric Evens 已给出了领域驱动设计的官方的解转载 2013-12-17 13:09:33 · 1804 阅读 · 0 评论 -
工厂方法模式与抽象工厂模式
本文是转的一、引子 话说十年前,有一个暴发户,他家有三辆汽车——Benz奔驰、Bmw宝马、Audi奥迪,还雇了司机为他开车。不过,暴发户坐车时总是怪怪的:上Benz车后跟司机说“开奔驰车!”,坐上Bmw后他说“开宝马车!”,坐上Audi说“开奥迪车!”。你一定说:这人有病!直接说开车不就行了?! 而当把这个暴发户的行为放到我们程序设计中来时,会发现这是一个普遍存转载 2013-12-26 12:06:33 · 574 阅读 · 0 评论 -
一些常用设计模式的应用场景
创建型模式构建者(builder)当创建一个类的过程比较复杂时(例如要组合对象、以及判断构造参数是否足够和合法),用专门的类(如建立一个专门的Builder类)和方法将这个创建的过程封装起来。工厂方法(Factory Method)给方法传入类的名称,方法给你返回你想要的类实例,现在这个模式的功能被spring框架IOC取代抽象工厂(Abstract Factory)原创 2013-12-26 12:39:58 · 6239 阅读 · 0 评论 -
各种缓存技术及使用场景
可做缓存的技术,Ehcache, Linkedhashmap, Memcached, Redis,视需求而定原创 2013-03-06 09:55:33 · 5743 阅读 · 0 评论 -
多数据库下activiti的流程定义缓存问题
多数据库下activiti的流程定义缓存问题。我们的产品是支持多公司使用的,各个公司分别使用不同的数据库,因此不同公司下activiti生成的流程定义ID有可能重复(ACT_RE_PROCDEF的ID_字段),例如A公司和B公司都存在名为Proc:1:104的流程。这时候,activiti的缓存机制只会加载其中一个到内存中(先使用的先加载),因此就会出现A公司使用了B公司流程的问题。原创 2014-10-30 15:24:25 · 4034 阅读 · 1 评论 -
实现spring多数据源以支持saas或手机App的多公司模式
当我们开发saas或手机应用程序,涉及多公司时,要求每个公司使用一个数据库,如何配置spring数据源使得每个公司使用不同的数据库连接?实现原理:自己新建一个MultiClientDataSource类(实现DataSource接口)去代替原来注入dataSource的ComboPooledDataSource,MultiClientDataSource类的实现精华在于使用一个map,用公司id(did)作为key,value为connection,在getConnection方法中判断是否在map中已原创 2015-03-30 20:37:46 · 3461 阅读 · 0 评论 -
代理模式和java动态代理
代理模式的作用及使用场景使用代理模式的根本目的在于:如何在不直接操作对象的情况下,对此对象进行访问?常用的场合包括:1)延迟加载;2)在调用实际对象的方法前后加入某些业务逻辑(作用有点像spring的AOP)JAVA动态代理JAVA提供了动态代理类以供用户方便地实现代理模式原创 2015-03-30 11:39:12 · 911 阅读 · 0 评论