博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
模式原则
阅读量:6140 次
发布时间:2019-06-21

本文共 671 字,大约阅读时间需要 2 分钟。


模式设计不只是简单的描述问题的解决方案,而且很重视解决方案的可重用性和灵活性

通过以灵活的关系来组合对象,组件能在运行时被定义

运行时组合对象所达到的灵活性非常高,而这在单独的继承树中是不可能达到的

 

组合优于继承

把变化的概念封装起来

             -------《设计模式》

 

继承是应对变化的环境及上下文设计的有效方式,然而它会限制灵活性,尤其当类承担多重职责的时候。在父类的代码中使用条件语句是一种倒退,通常用多态来替代条件语句

策略模式适用于将一组算法移入到一个独立的类型中

显示调用另一个对象的方法来执行一个请求的方式便是委托。动态的组合及重组对象,远胜于将功能静态的建立在代码结构中。

组合使用对象比使用继承体系更灵活,因为组合可以以多种方式动态地处理任务,不过这可能导致代码的可能性下降。

重用性是面向对象设计的主要目标之一,而紧耦合便是它的敌人。

    《设计模式》建议积极搜寻类中变化的元素,并评估它们是否适合用新类型封装。根据一定条件,变化的元素可被提取出来形成子类,而这些元素共同拥有一个抽象父类。而这个新类型能被其他类使用。好处:

  1. 专注于职责
  2. 通过组合提高灵活性
  3. 使继承层级体系更紧凑和集中
  4. 减少重复

极限编程原则:

  1. 你还不需要它
  2. 用最简单的方式来完成任务

模式:

  1. 用于生成对象的模式(对象实例化)
  2. 用于组织对象和类的模式(帮助组织对象的组成关系)
  3. 面向任务的模式
  4. 企业模式
  5. 数据库模式

更多文章在

转载于:https://www.cnblogs.com/wenjuncool/archive/2012/03/22/2412473.html

你可能感兴趣的文章
word2010中去掉红色波浪线的方法
查看>>
fabric上下文管理器(context mangers)
查看>>
JQuery-EasyUI Datagrid数据行鼠标悬停/离开事件(onMouseOver/onMouseOut)
查看>>
并发和并行的区别
查看>>
php小知识
查看>>
Windows下安装、运行Lua
查看>>
Nginx 反向代理、负载均衡、页面缓存、URL重写及读写分离详解(二)
查看>>
初识中间件之消息队列
查看>>
MyBatis学习总结(三)——优化MyBatis配置文件中的配置
查看>>
Spring常用注解
查看>>
我的友情链接
查看>>
PCS子层有什么用?
查看>>
查看端口,关闭端口
查看>>
代码托管平台简介
查看>>
linux:yum和apt-get的区别
查看>>
Sentinel 1.5.0 正式发布,引入 Reactive 支持
查看>>
数据库之MySQL
查看>>
2019/1/15 批量删除数据库相关数据
查看>>
数据类型的一些方法
查看>>
Mindjet MindManager 2019使用教程:
查看>>