设计模式
文章平均质量分 72
令仔很忙
这个作者很懒,什么都没留下…
展开
-
设计模式总结之一三五
引言 什么是设计模式(What)? 设计模式是前人实际经验的积累和总结,都是着重解决实际的问题。 学习设计模式的目的(Why)? 通过学习设计模式来提高写出的代码的可维护性、可复用性、可扩展性和灵活性。也就是说让系统能够达到“高内聚、低耦合”的状态。 怎样学习设计模式(How)? 设计模式是前人的实践经验总原创 2014-06-02 15:00:01 · 3563 阅读 · 11 评论 -
设计模式六大原则——迪米特法则(LoD)
1、背景 在图书馆借书,刚开始的时候,直接跑到相应的楼层去,到里面去转,去找要借的书,在里面溜达半天才能找到;后来知道图书馆有一个电脑查询处,然后直接在电脑上输入想要借的书,电脑就会显示你想要借的书的信息,还有所在的相关楼层存放的相关位置。 2、定义 迪米特法则(Law of Demeter)又叫作最少知识原则(LKP,Least Kno原创 2014-05-30 16:49:07 · 3546 阅读 · 8 评论 -
设计模式六大原则---依赖倒置原则(DIP)
定义 依赖倒置原则(Dependency Inversion Principle) 核心思想:依赖于抽象 具体体现: 体现一:高层模块不应该依赖低层模块。两个都应该依赖抽象。 体现二:抽象不应该依赖细节。细节应该依赖抽象。 依赖倒置原则告诉我们:细节是多变的,而抽象是相对稳定的。所以我们编程的时候要注重抽象的编程,而非细节编原创 2014-05-12 15:34:51 · 3155 阅读 · 12 评论 -
设计模式六大原则——单一职责原则(SRP)
定义 就一个类而言,应该仅有一个引起它变化的原因。通俗的说,一个类只负责一项职责。 问题的由来 手机的功能多,但是每一项的功能都不强: 拍摄功能——>专业的摄像机和照相机 手机游戏——>PSP 网络摄像头——>专业摄像头 GPS功能——>专业GPS导航系统 每一个职责都是一个变化原创 2014-04-30 16:35:20 · 2966 阅读 · 6 评论 -
设计模式六大原则——合成/聚合复用原则(CARP)
1、定义 简而言之,对于合成/聚合复用原则的定义就是:要尽量使用合成和聚合,尽量不要使用继承。 2、释义 为什么“要尽量使用合成和聚合,尽量不要使用继承”呢? 这是因为: 第一,继承复用破坏包装,它把父类的实现细节直接暴露给了子类,这违背了信息隐藏的原则; 第二:如果父类发生了改变,那么子类也要发生相应的改变,这就直原创 2014-05-31 15:35:39 · 10103 阅读 · 7 评论 -
设计模式六大原则——开放封闭原则(OCP)
什么是开闭原则? 定义:是说软件实体(类、模块、函数等等)应该可以扩展,但是不可修改。 开闭原则主要体现在两个方面: 1、对扩展开放,意味着有新的需求或变化时,可以对现有代码进行扩展,以适应新的情况。 2、对修改封闭,意味着类一旦设计完成,就可以独立其工作,而不要对类尽任何修改。 怎么使用开闭原则? 实现开放封闭的核原创 2014-04-30 20:37:55 · 7552 阅读 · 13 评论 -
设计模式六大原则——里氏替换原则(LSP)
概述 里氏替换原则(LSP,Liskov Substitution Principle)是关于继承机制的原则,是实现开放封闭原则的具体规范,违反了里氏替换原则必然违反了开放封闭原则。 引经据典原创 2014-05-25 21:35:26 · 8238 阅读 · 12 评论 -
观察者模式和Spring的结合
这周给分了一个任务,就是对查询回来的数据进行各种各样的过滤,有七种不同的过滤条件。过滤条件是在数据库中存着的。在我们项目中有一个热发,就是定时的从数据库中把数据取出来进行分类保存到Property中或者Map中。所以一开始想的一个笨的方法就是把七种不同的过滤条件热发到七个不同的Map中去。然后再定义一个过滤的类,所有的查询回来的数据都要经过这个类的处理。 后来想了想,这样做的话,不利于扩展原创 2016-12-18 22:07:13 · 6103 阅读 · 3 评论