码迷,mamicode.com
首页 > Windows程序 > 详细

C# 面向对象编程的核心技能的理解学习记录

时间:2018-02-24 13:08:23      阅读:230      评论:0      收藏:0      [点我收藏+]

标签:类变量   系统   知识点   接口隔离   优秀   post   别人   pos   项目   

学习的困惑

1. 不知道怎么学习

  • 刚开始学习变成,看了相关的教材,但是没有体会到什么是面向对象编程,也不知道怎么深入学习;

2. 只是盲目的使用

  • 已经工作,也会做一些项目,但是很多时候不明白为什么这么设计。
  • 自己的知识点很多,但是没有系统性,也不知道该往哪个方向发展。

我现在就是处于这个情况,有一些了解,看着别人的项目我也能再写一个但是很多地方很难理解,知识很散乱,真的,很无奈,在这里一开始接触windows就要自己编出一个项目来,没有一点点的C#的基础,以前是做Android的,Android一项还没搞明白,现在又被拉着做windows了,确实自己的翅膀不够硬的时候总是会被被人牵着鼻子走,呵呵,无所谓了。。。。。兵来将挡水来土掩!!!就是这个feel~

3.输入输出垃圾

  • 能做项目,而爱好研究技能,自我觉得很不错;
  • 为什么搞那么复杂呢?编程不就是堆积代码?what???

举例

一些项目中看到的问题:
项目的功能实现很不错,但是在具体实现的过程中,代码的可读性很差。控件的命名直接是1,,2,3,4,5,6,7.。。。。
程序的健壮性很差,后期修改很难实现,代码看起来很头疼。

不只是实现功能就完事儿了,程序的健壮性和可读性这些都是需要考虑在内的问题。

解决方案

关于面向对象编程不用去给一个精确的定义,提出这种方式是为了让编程更简单。

  • 学习面向对象编程是学习面向对象编程的原则,方法,技巧,经验,模式等的综合应用。

开发者必须掌握的OOP原则:

单一职责原则(对象职责明确原则)

  • 要求:一个对象只做好一件事情,必须专注,职责过多容易引起变化的原因就很多,程序不稳定。

开放封闭原则(核心原则)

  • 要求:需要变化时尽量少的修改类的设计,而是通过扩展类来完成。即封闭修改,开放扩展。

依赖倒置原则(OOP精髓)

  • 要求:基于接口编程,高层模块调用接口,底层模块实现接口,防止底层变化直接影响高层。

接口隔离原则

  • 要求: 尽可能多的使用专用的小接口,而不是总接口,避免接口过于复杂。

里氏替换原则

  • 要求:在继承关系中子类可以替换父类,虚拟机可以根据父类变量动态的找到具体的子类对象,从而实现多态。

面向对象的最终目标:程序应该很“健壮”,同时具备良好的可扩展性,可维护性。

说说现在的我自己吧,Java也还没有精通,所以对面向对象编程真的是一塌糊涂,只是看着别人怎么写,我就仿照形式完成需要的功能,到目前为止我见过的优秀代码可能没有,工作中的小伙伴是一个工作七八年的老司机了,但是写的代码真的不能看,我很无奈,看着那种没有一行注释的代码,基本上是不可维护性的,更新全靠重装,这也是我们整个公司的毛病,系统升级全靠重装系统。想想有点可怕,这种要是没出问题还好,出了问题,一个一个的给客户在重新装系统??或者说客户使用你的产品还需要学习如何烧内核??真是无法理解。所以我接手的项目基本上都是比较烂的项目,这样说也不过分,我自己的项目也好不到哪里去。

我就觉得吧,公司应该考虑长远的发展而不能只是急于一时的追求实现功能,像这样的问题,最后客户反应的也不再少数吧,前两天还接到客户的反馈电话,各种问题,真的是没法补救。我也很头疼的,我想做好,但是能力不够,so, 目前说多少都没用,加油提升自己,让技术来证明你的考虑是正确的。

C# 面向对象编程的核心技能的理解学习记录

标签:类变量   系统   知识点   接口隔离   优秀   post   别人   pos   项目   

原文地址:https://www.cnblogs.com/skyeblogs/p/8465017.html

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