面向对象设计模式的原则与分类
来源:互联网 发布:mobi编辑软件 编辑:程序博客网 时间:2024/06/07 05:42
单一职责原则,以前在写代码的时候,就直接上一个类拥有了多个不相关的操作,学了单一职责原则,就知道了每个类的功能应该单一,因为在使用的时候,我们是通过相应类的对象来调用这些方法的,遵循单一职责原则后,使用时就相对简单了。然后是开闭原则,像简单工厂模式的switch语句就不遵守这个规则,于是后来又学了抽象工厂模式,将每一种情况都另外建一个类,再建立一个工厂类去创建它。这样就有效的解决了开放封闭原则。“里氏代换”原则,里氏代换原则,先开始不是特别理解为什么叫里氏代换原则,因为这样的名称有点晦涩难懂,可能就是发明这个原则的人名吧!在一个可以接受基类对象的地方必然可以接受子类对象,开始想我看到的所有模式的代码,发现大多数面向接口设计的模式,都是先建立一个抽象类,抽象类不实现自身的方法,而让子类实现,不同的子类内部的实现不同,创建时,我们让父类引用,创建的相应的子对象,这样就实现了在接受基类对象的地方必然可以接受一个子类对象,“依赖倒转”原则,要面对抽象层编程,而不要针对具体类编程。这里的抽象层指的是一开始创建的虚基类,我们所面向的抽象层也是虚基类中的虚接口。我认为这样可以让我们有规则可循的创建满足自己需要的类。“接口隔离原则”用多个专门的接口来取代一个统一的接口,感觉这个规则有点像单一职责原则,只是一个针对类,一个针对对象,分离之后,我们在使用相应的接口的时候就更明确了。“合成复用原则”在系统中应该尽量使用组合和聚合的关联关系,尽量少使用甚至不使用继承关系。我感觉可能使用继承的开销往往比使用组合的开销要大,使用继承有时不能很好的表达类之间的逻辑关系。“迪米特法则”一个软件实体对其他实体的引用越少越好,或者说如果两个类不必彼此直接通信,那么这两个类就不应当直接的相互作用,而是通过引入一个第三者发生间接交互“我们之间不直接交互,而是通过第三者间接交互,最好的体现就是代理模式了,我认为这个规则一是为了安全考虑,还有就是解耦和,让两个类之间的联系程度尽量的低。
结构模式主要用于创建对象,结构模式主要用于处理类或对象的组合,行为模式主要用于描述对类或对象怎样交互和怎样分配职责。
另一种分类方法是类模式处理类与子类之间的关系,这些关系通过继承建立,在编译时刻就被确定下来,是属于静态的。对象模式处理对象间的关系,这些关系在运行时刻变化,是动态的。
- 面向对象设计模式的原则与分类
- 设计模式 ------- 面向对象的设计原则与设计目标
- 开篇—-面向对象的设计原则与设计模式
- 面向对象设计模式与原则
- 面向对象设计模式与原则
- 面向对象设计模式与原则
- 面向对象设计模式与原则
- 面向对象设计模式与原则
- 面向对象设计模式与原则
- 面向对象设计原则与模式摘录
- 面向对象设计模式与原则
- 面向对象设计模式与原则
- 面向对象设计模式与原则
- 面向对象设计模式与原则
- 面向对象设计模式与原则
- 面向对象设计模式与原则 【转载】
- 面向对象设计模式与原则 .
- 面向对象设计模式与原则
- @Scope("prototype")
- Android官方架构组件介绍之LifeCycle
- Android通过WebView与JS交互的全面方式
- 2-路插入排序
- iOS逆向 开发工具
- 面向对象设计模式的原则与分类
- php阿里大于thinkphp5基本配置与使用
- oracle查看数据库连接池中最大连接数和当前用户连接数等信息
- SAP PI
- MySQL常用操作
- zlib中的compress压缩操作-C语言学习笔记6
- upstream,proxy,nginx的模块
- css中position属性(absolute|relative|static|fixed)概述及应用
- Android Studio 添加类,自动书写项目人,日期等