摘要:
实习终于开始了,本来以为c++是主要语言,结果出乎意料的是纯golang环境。所以最近就老老实实看代码补习golang好了。 那么最近要做的: 1. 系统的把golang过一遍,顺便把之前粗略看的内容复习一下。 2. 看代码。这部分感觉有点艰难。主要是我还没有get到这个进度应该是啥样的……总觉得自 阅读全文
摘要:
工厂方法模式定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法让类把实例化推迟到子类。 总的来说,就是工厂方法模式封装了对象的创建,通过让子类决定该创建的对象是什么,来达到将对象创建的过程封装的目的。 抽象工厂模式提供一个接口,用于创建相关或依赖对象的家族,而不需要明确制定具体类。 阅读全文
摘要:
TCP交互流程: 服务器:1. 创建socket;2. 绑定socket和端口号;3. 监听端口号;4. 接收来自客户端的连接请求;5. 从socket中读取字符;6. 关闭socket。 客户端:1. 创建socket;2. 连接指定计算机的端口;3. 向socket中写入信息;4. 关闭sock 阅读全文
摘要:
装饰者模式动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。 装饰者模式的整体思路比较简单,就是在类的实例中包含一个同类型的成员变量,然后用实例来装饰该成员变量。这样就就可以实现嵌套装饰。 书中该部分的例子是咖啡。 Coffee.h Coffee.cpp 需要注意的问题: 阅读全文
摘要:
观察者模式定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖着都会收到通知并自动更新。 当两个对象之间松耦合,他们依然可以交互,但是不太清楚彼此的细节。观察者模式提供了一种对象设计,让主题和观察者之间松耦合。我们可以独立复用主题和观察者,如果我们在其他地方需要使用主题或观察者, 阅读全文
摘要:
策略模式定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客体。 书上的例子是鸭子,参考blog的例子是缓存算法。参考blog见:https://blog.csdn.net/wuzhekai1985/article/details/6665197 鸭子: 跟jav 阅读全文
摘要:
本来是想把之前的《head first设计模式》看了,不过因为这本书是java实现的,跟c++还是略有区别。 于是找了一下,发现了一个不错的blog,打算连书带blog一起参考着看了。 blog地址:https://blog.csdn.net/column/details/design.html 阅读全文
摘要:
这一篇是另一篇各种琐碎东西的笔记。 类型转换可以通过类型转换函数,或者构造函数来实现。但是一般来说类型转换指的是类型转换函数。 类型转换函数不需要声明输出类型(因为输出类型是固定的),也没有参数,同时因为不会改变类的内容,所以是const的。 explicit加到构造函数上,将使得构造函数只能用于创 阅读全文
摘要:
七层网络模型:物理层,数据链路层,网络层,传输层,会话层,表示层,应用层。 五层网络模型: 1. 应用层:确定进程之间通信的性质以满足用户需求。(各种传输协议) 2. 运输层:负责主机间不同进程的通信。(TCP/UDP) 3. 网络层:负责分组交换网中不同主机间的通信。 4. 数据链路层:负责将网络 阅读全文
摘要:
这篇是各种琐碎的东西。 类的函数如果在类内部直接实现,则成为内联函数候选。类外部实现的方法,可以用inline声明,使其称为内联函数候选。但是函数是否可以成为内联函数,需要看编译器的行为。、 构造函数可以使用初始列: 构造函数可以放在private区(单例)。 类的成员函数可以分为改变类的值的和不改 阅读全文