随笔分类 -  Design Patterns

摘要:在设计模式中,经常会谈到的一点是解耦。很多设计模式的优点,就是把调用方和实现方解耦了。比方说Command模式,比方说Mediator模式等等。 进一步思考一下,解耦的目的是什么呢?我的答案是复用。如果仅仅是解耦,没有复用,那解耦没有任何意义。 打个比方,我们都知道,业务逻辑不应该依赖具体的DAO实 阅读全文
posted @ 2019-02-18 22:20 米其林轮船 阅读(1022) 评论(0) 推荐(0)
摘要:解决什么问题 以下两句话是从Wikipedia上抄的,我觉得总结得很到位: An abstraction and its implementation should be defined and extended independently from each other. A compile-ti 阅读全文
posted @ 2019-02-12 17:36 米其林轮船 阅读(302) 评论(0) 推荐(0)
摘要:解决什么问题 考虑以下现实场景:数据库多种多样,我们可能从Mysql迁移到Oracle,甚至可能从关系型数据库迁移到非关系型数据库。我们不希望业务逻辑依赖具体的数据库实现,否则迁移数据库的时候,我们必须修改核心业务逻辑。怎么解决这个问题呢?依赖倒置,即核心业务逻辑定义数据持久化借口,即DAO接口。我 阅读全文
posted @ 2019-02-10 16:29 米其林轮船 阅读(255) 评论(0) 推荐(0)
摘要:在阿里工作已有四年,回头来看,很庆幸当初开了这个博客,让我今天能回忆一下四年前的自己。豪不客气的说,这四年我真的成长了很多,领悟了很多。这众多领悟之中,关于学习的非常重要的一点是:学习一定要多问为什么,为什么会有这个知识,这个技能,它最初的出现,是为了解决什么问题,而它一步一步发展到今天,是为了解决 阅读全文
posted @ 2019-02-08 20:52 米其林轮船 阅读(202) 评论(0) 推荐(0)
摘要:#includeclass CSingle2{public: static CSingle2* getInstance(); void setKey(int k); void printKey(); ~CSingle2();private: CSingle2(); ... 阅读全文
posted @ 2014-09-02 19:17 米其林轮船 阅读(175) 评论(0) 推荐(0)