《深入浅出设计模式》作为一本设计模式的入门书籍,书中引用了大量的开发实例,通过这些实例来引导读者,达到学习设计模式的目的。该还通过对各种设计模式的不断讲解,总结出了一些设计的原则(Principles),这些面向对象设计原则(OO Principles)如下:
1、 Encapsulate what varies.
2、 Favor composition over inheritance.
3、 Program to interfaces, not implementations.
4、 Strive for loosely coupled designs between objects that interact.
5、 Class should be open for extension but closed for modification.
6、 Depend on abstractions. Do not depend on concrete class.
7、 Only talk to your friends.
8、 Don’t call us, we’ll call you.
9、 A class should have only one reason to change.
面向对象的基础(OO Basics):
1、 Abstraction
2、 Encapsulation
3、 Polymorphism
4、 Inheritance
这些原则直指面向对象的精髓,是设计模式的理论基础。设计模式为开发人员提供了很多优秀的模式,但如何使用这些模式呢,如何做出你的选择呢?解决这些问题的方法就是这些原则。这些原则提供了设计模式的应用基本方法,也是选择模式的准则。这些原则保证系统具有可扩展性,是正确使用设计模式的基础。

读《深入浅出设计模式》相关推荐

  1. 读《Android 安全架构深究》

    Android 安全架构深究 安全是一个非常立体而丰富得概念.在不同的场景下,安全有着不同的含义. 比如对于网络传输,安全指的是传输的数据不会被其他人看到.篡改.伪造及仿冒,传输的数据不会遭到破坏,数 ...

  2. 《最强Android书 架构大剖析》读书笔记

    文章目录 第一章 Android 体系结构的变革之路 1.2 Android系统源码目录 与Linux的异同 Android的框架 原生二进制可执行文件 Android 的原生库 核心(core)库 ...

  3. Android Jetpack架构组件之 Room(使用、源码篇)

    2019独角兽企业重金招聘Python工程师标准>>> 1.前言 最近简单看了下google推出的框架Jetpack,感觉此框架的内容可以对平时的开发有很大的帮助,也可以解决很多开发 ...

  4. 抖音、美团等大厂千万级用户的Android客户端架构演进之路—

    在移动开发中,对开发者来说不同的人具有不同的能力.就像读一本书一样,一千个读者,有一千个哈姆雷特.但不管怎样,只要你是个软件开发者你就必须学习windows或Linux等操作系统的运行原理.Andro ...

  5. Android 图形架构之一 ——概述

    前言 本系列的文章,可以让你明白,一个View最终是如何显示到屏幕上的,从应用层到硬件抽象层.对分析app的卡顿,掉帧等 有很大帮助. 由于图形架构的涉及到的代码量很大,所以本篇先来个总体的概述,有个 ...

  6. Android display架构分析-SW架构分析(1-8)

    参考: Android display架构分析二-SW架构分析 Android display架构分析三-Kernel Space Display架构介绍 Android display架构分析四-m ...

  7. 高通Android display架构分析

    目录(?)[-] Kernel Space Display架构介绍 函数和数据结构介绍 函数和数据结构介绍 函数和数据结构介绍 数据流分析 初始化过程分析 User Space display接口 K ...

  8. [Android] Android MVP 架构下 最简单的 代码实现

    Android  MVP 架构下  最简单的 代码实现 首先看图: 上图是MVP,下图是MVC MVP和MVC的区别,在于以前的View层不仅要和model层交互,还要和controller层交互.而 ...

  9. Android系统架构-[Android取经之路]

    摘要:本节主要来讲解Android的系统架构 阅读本文大约需要花费10分钟. 文章首发微信公众号:IngresGe 专注于Android系统级源码分析,Android的平台设计,欢迎关注我,谢谢! 欢 ...

  10. Android系统架构图及简单的系统架构介绍

    2019独角兽企业重金招聘Python工程师标准>>> ndroid的系统架构和其操作系统一样,采用了分层的架构.从架构图看,android分为四个层,从高层到低层分别是应用程序层. ...

最新文章

  1. 重磅!Facebook公布PyTorch 1.0预览版!
  2. rsync一:工作模式及语法
  3. 如何利用 notedown 完成 ipynb与markdown之间的格式转换?
  4. 支付宝当面付扫码支付支付后不回调_科普:支付宝刷脸支付流程介绍
  5. 【web安全】Spring Boot eureka xstream 反序列化
  6. mysql upgrade 失败_`mysql_upgrade`失败,没有给出真正的理由
  7. 项目版本控制器SVN的环境建立(Subversion,subclipse)
  8. 本月 Windows Mobile 文章推荐
  9. c html联调,JS与native 交互简单应用
  10. java浮点数的精确计算_Java 浮点数计算精度丢失问题?
  11. 地理空间数据云下载的dem数据(xxxdem.tif格式)中的栅格大小从度(0.000002)改成米(30)
  12. DVD转RMVB及DVD转AVI相关教程
  13. 基于LabView开发的串口助手
  14. 测试管理工具的基本功能有哪些?
  15. gdal gdal2tiles.py 的使用
  16. 缓存篇(二)- JetCache
  17. USB 设备驱动之设备接入梳理(六)
  18. 【CSS】492- 无外链的CSS开发策略
  19. Linux 文件、目录与磁盘格式
  20. vue调用lodop打印

热门文章

  1. EDA技术实用教程 | 复习十四 | Quartus II工具的使用
  2. tftp服务器权限配置文件,tftp服务器权限配置
  3. 局域网ip冲突检测工具_python 小工具实现 windows笔记本与 ipad数据互传
  4. 跨平台客户端开发经验总结
  5. robocopy 备份_windows下使用RoboCopy命令进行文件夹增量备份
  6. java 项目开发流程_详解JAVA开发之JAVA项目开发的基本流程
  7. matlab报错找不到icuuc54.dll解决办法:
  8. DXL之通过程序修改Domino的设计
  9. 破解Visio时office失效,激活失败
  10. TI DSP28335学习路线分享