码迷,mamicode.com
首页 > 其他好文 > 详细

程序员必备的面向对象编程书单

时间:2020-12-23 12:38:26      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:book   包含   RoCE   耦合性   思想   大学   影响   通过   学习   

程序员书库(ID:OpenSourceTop) 编译 链接:https://javarevisited.blogspot.com/2017/04/top-5-books-to-learn-object-oriented-programming.html

面向对象编程(OOP)是当下最流行的编程架构,它是一种工具,帮助你通过多个对象编写成复杂的软件,它的前身面向过程编程是由C实现的。面向过程,强调的是功能行为。面向对象,将功能封装进对象,强调具备功能的对象。面向对象更加强调运用人类在日志的思维逻辑中采用的思想方法与原则,你可以吧任何东西视为对象,然后找到他们的行为和状态,这将帮助你在代码中模拟该对象。

可惜的是,很多程序员都不学面向对象编程、面向过程编程、函数式编程,他们学习的只是编程语言,许多开发人员学习Java、C++或Python时都学习了OOP,但它们不能称之为真正意义上的OOP,一般的大学毕业生很难在实践中应用OOP概念。

这也是为什么对于专业程序员来说,阅读一些面向对象分析和设计的书籍是至关重要的,只是了解OOP基础知识(抽象、封装、继承或多态性)是没有用的。重要的是你要学会在实践中应用这些原则。

此外,你还要学会权衡,选择解决方案,比如什么时候组合优于继承,什么时候使用抽象类优于接口,了解内聚性和耦合性,并学习如何在编写软件时减少耦合性和内聚性的技巧等等。

下面是我收集的5本学习面向对象编程的书,适合所有程序员阅读:

1、《Head First Object-Oriented Analysis and Design》

技术图片

这是学习面向对象编程概念和基础知识最好的一本书,你不仅将学习类、对象、封装、多态性、抽象和继承等基础知识,还将学习组合、聚合等高级概念。这本书将帮助你从对象的角度来思考解决问题。它们将教你如何将状态和行为与对象关联起来。那些想要学习面向对象编程以及如何将其应用于实际应用程序的初学者,强烈推荐这本书。

2、《Elegant Objects》

技术图片

这是我读过的最有趣的书了,这本书包含23个实用的建议,关于程序员如何使用面向对象的编程技术,而且本书的作者很固执,只要他认为某些事情是不正确的,就不会去遵循他,在他看来,静态方法、空引用、getter、setter和可变类都是有害的,不过,这种观点在我看来是不正确的。

虽然,我很喜欢读这本书,它也确实能够帮助你更好地思考面向对象编程,但是不建议初学者阅读这本书,它更适合有经验的OOP程序员阅读

3、《The Object-Oriented Thought Process》

技术图片

这是另一本适合初学者学习面向对象概念和基础知识的书,这本书对于C语言和其他面向过程的程序员来说也是很好的选择,它将教你如何通过应用基本的OOP概念来构建被由对象组成的复杂系统。简而言之,Matt Weisfeld的这本书对于任何想要学习面向对象编程的初学者来说都是必读的。

4、《深入浅出设计模式》

技术图片

如果要说哪本书对我的编程生涯影响最大,那就是这本书,我是在2007年得到这本书的,当时我还是一名初级开发人员,刚从大学毕业,对什么是抽象、封装、类、对象或继承只有理论知识。这本书教会了我为什么在很多情况下组合比继承更优,教会了我接口的真正用途......书中讨论了设计模式,这也是面向对象编程中非常重要的一部分,但它远远不止于此,我强烈推荐任何初学者和中级程序员花一些时间阅读前两章来真正理解面向对象编程。

5、《代码整洁之道》

技术图片

这本书在面向对象编程和编写更好的代码方面对我影响也很大。当我读这本书的时候我已经有多年的编程经验了,但是当我读的时候,我意识到我在不知不觉中犯了很多编程错误。这本书教会了我面向过程编程和面向对象编程之间的真正区别,书中有很多很好的示例来教你面向对象编程,以及如何将面向过程代码编写成面向对象的方式,如果你想真正了解OOP的威力,想要写出更好的代码,那这本书值得一读。

以上这些都是学习面向对象编程、分析和设计的最佳书籍。但是,你要做的不仅仅是读书,学习OOP分析和设计的最佳方法是编写代码和阅读代码,你设计的系统越多,在实际问题中应用OOP运用的越多,你才会学到更多,记住一句话,实践是检验真理的唯一标准。

程序员必备的面向对象编程书单

标签:book   包含   RoCE   耦合性   思想   大学   影响   通过   学习   

原文地址:https://blog.51cto.com/15060204/2567143

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!