抽象

当技术已经产品

China☆狼群 提交于 2019-12-07 09:07:26
当技术已经产品,我是程序员,尽管工作三年,但是在初级的路口徘徊。一直在考虑,如何去做好技术这件事情?如何去区分业务和技术,又如何去融合业务和技术,从而来提高我们的工作效率?一直很困惑。 今天,我跟同学去爬北高峰,突然有所感悟。如何去融合业务和技术。前几天,我偶尔在看看《Java特种兵》(谢宇),一本很nice的书(学java读者可以推荐去看)。其中,有一部分内容是程序员也应该懂点数据库。其中一个观点是可以将数据库当作一种产品。那么,我将问题就归纳为:你如何去熟悉这款产品?如何才能说明你已经了解这款产品?同理,java也可以当作一种产品,那么,你又要如何去理解?如何表示你已经理解?同理,自己公司的一款产品,你应该如何去深入理解,如何去优化你的产品?当时,我并不是很理解。 最近买来了李林峰的《分布式框架与实践》(值得读一本书,作为对分布式框架知识结构整理,很推荐)。翻了他的目录结构。终于明白,原来分布式框架基本上做了这些事情。无论使用的框架是dubbo,还是其他。他可以将分布式框架这一块的产品,做一种抽象。你只要理解这些抽象,就可以明白基本上所有分布式框架所做的事情。这又让我想到了mysql。我们有如何去深入理解它呢?对,就是明白关系数据库的抽象。例如,事务,查询计划,数据存储引擎。这三样,其实无论在mysql,sqlserver,还是oracle都是存在的。同时,又明白通用的一款产品

面向对象的基本特征

只愿长相守 提交于 2019-12-01 04:34:56
面向对象方法具有三个基本特征: 封装:封装是将对象的实现细节隐藏起来,然后通过一些公共的方法来暴露该对象的功能。 继承:继承是面向对象实现软件复用的重要手段,当子类继承父类后,子类作为一种特殊的父类,将直接获得父类的属性和方法; 多态:多态讲的是子类对象可以直接赋给父类变量,但运行的时候依然表现出子类的行为特征,这意味着同一个类的对象在执行同一个方法时,可能表现出多种行为特征。 对面向对象的理解 ### 封装 类的封装是指类把所有的操作都封闭起来,仅仅提供接口出来让其他人使用,使用的人没有必要懂得类里面的操作,只需要懂得操作接口就可以了。比如开汽车,我们只需要懂得方向盘、刹车、油门等等的使用就可以了,没有必要知道刹车是如何构成的封闭好的操作。同时,封装也提高了程序的可替换性。比如两个汽车公司实现刹车的方式不一样,但是,只要我们学会了使用刹车,那么,开两个汽车公司的车就都没有问题了,我们不需要考虑他们怎样实现刹车这门技术的。 ### 继承 类的继承性是指从已有的一个类来extends子类,子类具有了父类的所有特征,同时,子类也可以有新的特性。比如:人是一个类,男人具有了人类的所有的特性,比如思考,比如劳动。同时,男人也有新的特性,比如男人会长胡子。 ### 多态 类的多态性是一个对象的某项功能可以处理不同类型的问题,或者一个子类可以将父类的某个功能替换成新的功能