http://www.sufeinet.com/plugin.php?id=keke_group

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 3986|回复: 1

[咨询站长] 把“面向过程”的老项目用OOP重构,需要准备哪些条件?

[复制链接]
发表于 2015-11-12 18:12:05 | 显示全部楼层 |阅读模式
本帖最后由 我是MT 于 2015-11-12 18:34 编辑

接触C#也有段时间了,但很少真正用面向对象思维来写软件,也没有体会过面向对象的好处。为什么要用类,为何要用继承,多态。我想利用以前的老项目(面向过程,函数式开发),把它用C#重新实现一下。

老项目简介
如下图,是完全面向过程编写的一个软件,采用的autoitscript(俗称AU3),3000来行代码维护起来非常麻烦。
考虑到日后需要增加完善这个软件。也是抱着提升C#编程能力的目的,想用C#重写这个软件。
33333333333.gif
首先,这里面每个功能都是对应一个函数。有很多函数 签名的类型都一样。只是内部执行的方法有稍微差别。
      之初我完全没有考虑过代码的可维护性,只是为了实现功能而无节制的增加了自定义函数。导致这些函数越来越多,嵌套也复杂。虽然用viso画了逻辑流程图,但要梳理和维护目前的代码显得非常混乱。我看过《大话设计模式》这本书,感觉目前的老代码有很多地方需要精简。比如把把签名和功能类似的方法,抽象到一个父类里面,方法类似的用方法重载,要使用某一个函数的时候,直接实例化类,调用一个重载的方法,传入相应的参数,返回对应的值。这样可以大大精简我的代码。这至少可以砍掉很多自定义的函数。

不知道苏飞在这方面有什么好的建议。我真的想提升下这方面的编码能力。养成良好的习惯,写出易于维护,可扩展行良好的代码。有书和辅助工具推荐更好。










1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2015-11-13 10:35:05 | 显示全部楼层
这个你第一件事要做的应该是能懂面向对应的编程方式,如果能不转了也没多大用。

您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-11-22 12:08

© 2014-2021

快速回复 返回顶部 返回列表