第一章:

本章主要是讨论什么是面向对象,在对面向对象理解的基础上,再讨论一些高深的话题,比如:设计模式。

所以,本章有如下主题:

1)明白什么是面向对象编程。

  在学习设计模式之前,最好对python在做一个深入的学习,打好基础,明白python的面向对象的设计理念。

  在面向对象的世界里,有属性和方法两种;方法主要是对属性进行操控。

  封装:

  相对于class的外部来说,class有些行为需要隐藏在内部,不对外公开,这就是封装。

  面向对象(class或者object)的原则是,其方法即是开放的(可以扩展),又是封闭的(最要不要修改)。如果达到这个原则,就是完美的。

       想一想,如果需要扩展,就直接扩展,而原来的代码,不需要修改,多棒。

2)讨论面向对象的设计原则

  a)the open/close 原则

  b)the inversion  of control principle 反响控制原则(又叫依赖注入,IOC)

    参考:http://www.cnblogs.com/liujianzuo888/articles/5847569.html

  c) the interface segregation principle:接口隔离原则

3)了解设计模式的概念以及他们的分类

4)讨论动态语言的模式

5)一些典型的设计模式:creational pattern, structural pattern, and behavioral pattern

最新文章

  1. Centos挂载第二块硬盘
  2. setTimeout和setinterval的区别
  3. 我的c++学习(8)运算符重载和友元
  4. PreparedStatement解决sql注入问题
  5. centOS上安装redis
  6. 一张图比較 Docker 和 Git:镜像管理设计理念
  7. 刚開始学习的人制作VMOS场效应管小功放
  8. 初学NodeJs
  9. SQL Server - AS
  10. 三月pat(转)
  11. 如何长期试用Beyond Compare 4
  12. Redis(转)
  13. 手动编写的几个简单的puppet管理配置
  14. compile php with openssl on mac osx error 填坑
  15. Nginx技术研究系列3-OpenResty安装配置
  16. 渲染Keynote
  17. 20155227《网络对抗》Exp3 免杀原理与实践
  18. day22-23作业
  19. Python3基础 file seek 将文件的指针恢复到初始位置
  20. 20162303石亚鑫 第十二周hash补充博客

热门文章

  1. Mac下离线安装SDK
  2. OpenCV漫水填充算法示例代码
  3. Redis能做什么?不能做什么?
  4. Flink State的两张图
  5. 更新协同开发工具SVN的链接的服务器地址
  6. Action中使用Json
  7. 【题解】NOI2014动物园
  8. Android 架构组件 Room 介绍及使用
  9. BZOJ3132 上帝造题的七分钟 【二维树状数组】
  10. vue父组件中修改子组件样式