什么是观察者模式
从面向过程的角度来看,首先是观察者向主体注册,注册完之后,主体再通知观察者做出相应的操作,整个事情就完了
从面向对象的角度来看,主体提供对观察者管理的接口(注册,取消,通知),观察者提供自身操作的接口。(这些观察者拥有一个同一个的接口)观察者利用主体的接口向主体注册,而主体理由观察者接口通知观察者。耦合度相当之低。
定义:简单来说,整个应用中只有一个实例对象的设计模式被称之为单例模式,而多例模式是指存在一个类有多个相同实例,而且该实例都是该类本身。这个类叫做多例类。
注:多例模式被公认为是 反面模式,为了获得更好的可测试性和可维护性,请使用“依赖注入模式”。
软件包分为两大类:源码包和二进制包(RPM包、系统默认包)。
源码包
指的是直接把软件的源代码开放给用户的安装包。Linux最大的特点就是开源,它是用C语言编写的,所以绝大部分源码包也是用C语言编写的。源码包安装过程比较慢和复杂,而且容易报错。源码包可以到该软件的官方网站下载。它的文件名一般是以 .c 结尾,可以用写字板打开查看源代码。计算机能够识别的语言是二进制代码,也就是0或1组成的代码。要想让计算机识别源码包,就必须先将其编译为二进制代码。编译过程,需要C语言编译器gcc的支持。
脚本安装包也是源码包的一种,它绝大多数是对源码包进行再开发之后的源码包。这种包比较少见,有点类似于Windows中的软件包,它的安装程序一般是install.sh,其安装过程非常简单,有简易的安装界面。