C# 如何改进我的面向对象编程?
我了解过程编程(好吧,谁不懂呢),我想很好地了解面向对象编程以及之后的功能。我只是一个业余爱好者,所以这将需要我一个年龄和一天,但它的乐趣 有人知道我能帮什么忙吗?项目理念?示例—文档化良好的代码,这些代码是他们的C# 如何改进我的面向对象编程?,c#,oop,C#,Oop,我了解过程编程(好吧,谁不懂呢),我想很好地了解面向对象编程以及之后的功能。我只是一个业余爱好者,所以这将需要我一个年龄和一天,但它的乐趣 有人知道我能帮什么忙吗?项目理念?示例—文档化良好的代码,这些代码是他们的 我目前使用C++,但是C语言看起来更适合使用。 < P>有一些很棒的OOP书籍,从头覆盖和./p>到真正地适应面向对象编程,有两件事你可以做。p> 强迫自己用对象模拟真实世界的问题。创建类来表示对象,创建方法来表示它们可以做的事情 使用一种语言和/或一个框架,真正地将OOP强加给您。
我目前使用C++,但是C语言看起来更适合使用。
< P>有一些很棒的OOP书籍,从头覆盖和./p>到真正地适应面向对象编程,有两件事你可以做。p>这取决于你懂什么语言。就我个人而言,我会推荐某种类型的OO脚本语言。IE PHP或Python,我相信这将帮助您实现半平稳过渡。我最近已将PHP转换为C#并且热爱它的每一分钟!我想说的是,给自己找一个新的项目,有一个灵活的时间表,然后投入其中。还可以买几本书,特别是关于OOP概念和设计模式的书。我建议您阅读。书中很少有代码,但有很多关于如何建模的讨论 我希望在我刚开始工作时有人能告诉我以下几件事:
我建议主要使用强类型语言,如C#或Java,因为许多设计模式和通用OOP原则都是面向强类型的(,)。Ruby非常棒,但是很多常见的OOP原则,比如接口编码,都不适用 花点时间学习鲍勃叔叔的原则。慢慢来,特别注意单一责任。如果你没有从Bob叔叔那里得到任何其他东西,那么在你的头脑中建立SRP,并尽早、经常地应用它
我也喜欢Bob叔叔关于代码katas的想法。我建议您学习。尝试学习Smalltalk-改进OO编程的最佳方法。了解基本知识后,最好的方法是通过示例学习。下载流行的开源项目,并深入研究它们。我从一些项目中学到了很多:
- -对责任链模式有一些良好的实施
这将导致更简单、更可重用的代码(以我的经验),并且更易于测试。为了掌握面向对象的技能,您需要大量的实践 试着用“对象术语”来思考你对代码所做的一切 应用它:
- 使用服务器端语言
- 保持Java脚本代码面向对象
- 考虑让CSS代码易于重用,并且包含低重复性
阅读。这可能是有史以来关于OO编程的最好的一本书。我是帮助更新不同语言的概念的最好的一套书。尽管书很好,但仅仅在书中阅读OOP并不能真正教给你。你真的需要一些实践经验。有些人可能不喜欢Head First系列,因为它们似乎针对新手。当你含沙射影地说一本针对新手的书对他们来说是合适的时候,即使只有一点点经验的人似乎也会被冒犯,但是如果你已经接受了你还有更多的东西要学,这些首屈一指的书是很棒的。他们给出了具体的例子,并以简洁明了的方式陈述了原则。我强烈反对。PHP和Python都有非常奇怪的对象系统。Python有点不错,但它在继承方面做得很差,需要显式的“self”参数,这可能会让人困惑。PHP的对象系统还可以,但由于PHP的遗产有限,它有很多奇怪之处。另一方面,Ruby有一个很棒的对象系统,可能是一个不错的选择。嗯,我必须看看Ruby,是的,我同意Python确实有一种非常独特的处理方式。大多数程序程序员将继续使用wr