座谈会——体会(一)

一、接口思想——接口是程序的源泉和开始

无论写多么小的程序,尽量思考如何设计,不要上来就写具体功能。桂老师说:接口是程序的源泉和开始(但面向对象设计也是有很不好的地方),写程序之前尽量画UML图,对需求进行抽象,抽象出的公有部分放于基类,不同的部分放于派生类中。程序 = 算法 + 数据结构 +架构。为什么在写程序时尽量要有接口思想?使用接口的程序可扩展性强、易维护、降低类之间的耦合度,使得代码更优雅,设计更精妙。请记住:写代码时尽量贯彻接口思想,并结合设计模式,画出UML图(至少粗略的画出)。

二、封装变化性

经常听到封装变化性,但封装变化性到底是什么呢?封装变化性不仅体现了抽象出类公有的部分作为基类成员,变化部分作为派生类成员,还有复杂的一面,设计模式是对“封装变化”的最佳诠释,资深百度党发现有两篇博文对于封装变化性写的很不错——狠戳这里这里

三、如何改善继承引发的父类子类紧耦合

多用组合聚合,少用继承,特别是多重继承。继承是紧耦合的,举个例子:子类继承父类公有成员,其中子类继承了父类的non-virtual方法的接口(声明更确切),也继承了其实现,但是这样写的程序在以后维护过程中会有很大的隐患,比如父类的non-virtual方法实现被修改了,那么其派生类会受到影响,如果有很多个派生类,那么由此引发的问题可想而知,并且不可预见。然而,组合就是解耦的过程,具体可学习“GOF设计模式”。请记住:多用组合,少用继承。

四、TCP为什么是可靠的?

这个问题和“32位循环冗余码”有关系。。。。需要继续学习,哈哈!

五、客户端和服务器如何检测对方是否还在线?

上个礼拜参加了网易互动娱乐17校园招聘网易《梦幻西游》开发历程的技术交流会,梅林大神分享的时候曾提到:梦幻西游手游玩家在进电梯后网络连接中断,那么如何使得玩家恢复网络后进行网络重连,而不需要重启客户端?而在今天和桂老师交流的时候,谈及 "心跳包"这个概念,“心跳包”发生在应用层,它使得服务器检测到客户端不在连接状态,有关“心跳包”的相关知识还需要继续学习,哈哈!


2016年9月7号晚



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值