最新文章 (全部类别)
Winform+DevExpress使用GridLookUpEdit实现订单明细选择商品,并自动添加新商品记录
VS2022 关停ServiceHub.IntellicodeModelService.exe服务占用CPU及内存过高
修改密码 - MiniFramework蝇量框架 - Winform框架
主窗体导航菜单NavbarControl 介绍 - MiniFramework蝇量框架 - Winform框架
.NETCore WebApi阻止接口重复调用(请求并发操作)
VS2022消除编译警告
“SymmetricAlgorithm.Create(string)”已过时:“Cryptographic factory methods accepting an algorithm name are obsolete. Use the parameterless Create factory method on the algorithm type instead
SHA256Managed/SHA512Managed已过时:Derived cryptographic types are obsolete. Use the Create method on the base type instead
MD5CryptoServiceProvider已过时:Derived cryptographic types are obsolete. Use the Create method on the base type instead
C#使用HttpClient获取IP地址位置和网络信息
判断IP是否是外网IP、内网IP
C#使用HttpClient获取公网IP
WebRequest.Create(string)已过时:WebRequest, HttpWebRequest, ServicePoint, and WebClient are obsolete. Use HttpClient instead
C#根据第三方提供的IP查询服务获取公网外网IP地址
html/dom/js/javascript开发记录
调试ASP.NETCore Web站点 - 清理IISExpress缓存数据(js,css)
EFCore+Oracle根据不同的Schema连接数据库
主程序集成CSFramework.EF 数据库框架(.NET7版本)
CSFramework.EF数据库框架简介(.NET8+EFCore)
迁移ECS服务器:导致ORACLE监听服务启动不了解决方案
SQLite数据库
VS2022编译报错:Visual Studio 容器工具需要 Docker Desktop
.NET 9 预览版+C#13新功能
EFCore禁用实体跟踪
WebApi开发框架V3.0 (.NETCore+EFCore) 增加AppSettings全局参数类
C#获取应用程序所有依赖的程序集
LINQ Expression 多条件复合条件组合(And/Or)
CSFrameworkV6客户案例 - MHR - 宁德时代制造人力资源系统
CS软件授权注册系统V3 - 发布证书
C/S软件授权注册系统V3.0(Winform+WebApi+.NET8+EFCore版本)
CS软件授权注册系统V3 - 购买方式
CS软件授权注册系统V3 - 试用版下载
CS软件授权注册系统-客户登记(制作证书)
C/S软件授权注册系统V3.0 - 管理员工具
CSFrameworkV6旗舰版开发框架 - 集成软件授权认证系统
CSFramework.Authentication 软件证书管理系统 - 制作软件客户授权证书
CSFramework.Authentication 软件证书管理系统 - MAC地址管理
CSFramework.Authentication 软件授权证书管理系统
Login/Logout接口调用dalUser的Login/Logout方法
C# Newtonsoft.Json.Linq.JObject 转对象
CSFramework.Authentication 软件授权认证系统 - 软件测试报告
C/S架构软件开发平台 - 旗舰版V6.0 - 底层框架迭代开发
C/S架构软件开发平台 - 旗舰版V6.1新功能 - 增加软件授权认证模块
C/S架构软件开发平台 - 旗舰版CSFrameworkV6 Bug修改记录
CS软件授权注册系统V3 - 开发手册 - 软件集成与用户注册
CS软件授权注册系统-模拟MES/ERP用户注册软件
CS软件授权注册系统-发布/部署WebApi服务器(IIS+.NET8+ASP.NETCore)
CS软件授权注册系统-VS2022调试WebApi接口
.NETCore Console控制台程序使用ILogger日志
CS软件授权注册系统-WebApi服务器介绍
.net敏捷开发,创造卓越

浅谈系统框架与开发模式 [转]


  浅谈系统框架与开发模式 [转]浅谈系统框架与开发模式 [转]


系统框架与开发模式

在博客中我也看到了好多关于系统框架的文章,就象有些朋友说的,这些系统框架大同小异,一般是分为数据访问层、实体层、业务逻辑层、业务外观层、表示层。然后就是这些层与层之间的调用,这些我想对于做过稍大一点的项目、或者小型以上团队开发的项目,都是会考虑到这些分层模式带来的系统扩展性优势。

  有些朋友都建议加一个common层,把一些共公的类与方法集中在一起,让大家一起调用,可以减少重复代码,这个我也是很支持的,也是这样做的。

  我相信目前摆在我们面前的,已经不是这些系统框架的问题了,而就是这些结构中体现出来的开发模式的问题。

  大家所说的要把公共的代码放在一起,这就是“重构”所要体现的思想,重构就是为了让代码更具的扩展性、维护性,能减少重复代码,这可以从根本上提高代码的效率并减少修改导致的BUG恶性循环。

 

重构一般发生在什么时候?


  代码设计期:这要求设计人员把公用的方法总结出来,放在公用的模块中,生成文档或是通过其他方式,反正就是通知大家这些公用方法,而这是非常有限的,设计人员无法思考出所有的公用模块与方法,相反,这些只是极小的一部分,因为更多的重构应该发生在下面。


  代码开发时:当我们第一次写一段代码时不会注意,写第二遍时我们会想:算了再写一遍吧。准备写第三遍时,我们必须要醒悟过来,这些相同的代码可以放在一个公用的方法中调用,对,在第三次时我想我们最好是这样做,因为你现在这样做,不仅仅是为了现在,而是为了将来。我们就会写成公用方法,并一定要把原来的两个方法采用“调用”的方式,可千万不要偷懒,谁也无法保证今后不会修改这个函数,而如果真的修改了,你没有能力找出最先的那两段代码了,恶梦从此开始。 来源:考试大-软件水平考试


代码修改时:项目已经开发完成,在后期的维护中,一次次的修改会使每一位程序员痛不欲生,没有了当初的热情、有几位已经退出了团队、对原系统遗忘的很多、修改变的越来越没有道理了,就这样,曾经热情高涨的代码编写变的应付了事了,重构再也没有勇气了,就这样的,没有了重构,死循环的恶梦真正的开始了,后面的修改与维护变的越来越困难了。然后,在这个时间进行重构仍然是非常重要的,在进行修改时,我们要仍然保持这种心情,我们只要相信,每一次修改是为了减少修改,而不是相反,那么,我们还是要相信重构。

  重构的过程就是这样,在慢慢的过程中,系统会变的越来越精简,修改也会变得变来越少,而且越来越容易,当我们在修改时发现:我只要修改这一个地方就可以了。这仍然是可能让我们保持热情的理由。

  可是问题呢:问题就是在这些重构过程中,如何及时的通知其他的队友,重构不是针对开发人员的,重构是针对系统的,当一个人进行了代码重构后,如何通知其他的队友:朋友们,我添加了XXX方法了,参考请看YYY,请大家进行一下相关的修改或注意以后的调用。

  其实我也是不知道如何维护整个系统的信息交流,我想首先想到的就是mail了吧,一封邮件的通知,可以完成一个重构人员的信息发布,可是接受者呢,在一封封的邮件中进行着一次次的修改,而且这些零散的邮件会让人找不到方向。

  那么好吧,放在一个集中的地方,大家把重构都放在一个公共的地方我想是比较好的方法,不过,大家得经常注意这些信息,而且要由项目经理,下令大家严格按照重构机制做系统。这样也好,系统完成后,也会形成一份统一的重构方法集合,可以作为系统开发文档的一部分,而且这部分是相当重要的。

  我其实找不到一种好的项目开发模式,从而有很多重构思想,在现实中没有充分的发挥,希望大家也讨论讨论,能让我们更多的进行实践,而不是纯粹理论。

  关于重构的细节,我想网上已经有很多资料了,我相信,那对我们是非常重要的,当然我也是只懂一点点,这需要慢慢体会与研究的。



C/S框架网|原创精神.创造价值.打造精品

扫一扫加微信
C/S框架网作者微信 C/S框架网|原创作品.质量保障.竭诚为您服务

版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
C/S框架网
上一篇:C#多文档界面(MDI)系统框架 (原创在C/S框架网!)
下一篇:C#.Net快速开发框架 - ORM ,BLL,DAL三者关系
评论列表

发表评论

评论内容
昵称:
关联文章

系统框架开发模式 []
ACTIVE OBJECT 模式()
[帖]ACTIVE OBJECT 模式
C/S开发框架两种后台连接:直连模式WebApi模式(ADODirectWebApi)
CS开发框架(高级版)WebServiceADO-Direct模式切换
WCF模式以及ADO-Direct模式|C/S框架
GoF设计模式:原型模式(Prototype Pattern)—对象的克隆
C# 时间戳(Timestamp)标准时间(DateTime)互
GoF设计模式:工厂模式(Factory Pattern)
GoF设计模式:建造者模式(Builder Pattern)—复杂对象的组装创建
开发应用 - 策略模式(Strategy Pattern) 常用设计模式
C# DataSetXML互
WCF开发框架-客户端采用Certificate认证模式调用基于HTTPS协议的WCF接口
C/S开发框架提供类似SAP系统的快速命令,能快速打开界面窗体(Command模式
MDI程序-TabbedMdi模式窗体层叠互换功能(C/S框架网)
GoF设计模式:命令模式(Command Pattern)—请求发送者接收者解耦
WCF开发框架默认连接:HTTP协议+Message安全模式+Windows客户端认证
GoF设计模式:装饰模式(Decorator Pattern)—扩展系统功能
C# Hashtableobject实体对象互
CS系统三层架构扩展支持WCF及策略模式应用(原创)

热门标签
软件著作权登记证书 .NET .NET Reactor .NET5 .NET6 .NET7 .NET8 .NET9 .NETFramework APP AspNetCore AuthV3 Auth-软件授权注册系统 Axios B/S B/S开发框架 B/S框架 BSFramework Bug Bug记录 C#加密解密 C#源码 C/S CHATGPT CMS系统 CodeGenerator CSFramework.DB CSFramework.EF CSFramework.License CSFrameworkV1学习版 CSFrameworkV2标准版 CSFrameworkV3高级版 CSFrameworkV4企业版 CSFrameworkV5旗舰版 CSFrameworkV6.0 CSFrameworkV6.1 CSFrameworkV6旗舰版 DAL数据访问层 Database datalock DbFramework Demo教学 Demo实例 Demo下载 DevExpress教程 Docker Desktop DOM ECS服务器 EFCore EF框架 Element-UI EntityFramework ERP ES6 Excel FastReport GIT HR IDatabase IIS JavaScript LINQ MES MiniFramework MIS MySql NavBarControl NETCore Node.JS NPM OMS Oracle资料 ORM PaaS POS Promise API PSD RedGet Redis RSA SAP Schema SEO SEO文章 SQL SQLConnector SQLite SqlServer Swagger TMS系统 Token令牌 VS2022 VSCode VS升级 VUE WCF WebApi WebApi NETCore WebApi框架 WEB开发框架 Windows服务 Winform 开发框架 Winform 开发平台 WinFramework Workflow工作流 Workflow流程引擎 XtraReport 安装环境 版本区别 报表 备份还原 踩坑日记 操作手册 达梦数据库 代码生成器 迭代开发记录 功能介绍 国际化 基础资料窗体 架构设计 角色权限 开发sce 开发工具 开发技巧 开发教程 开发框架 开发平台 开发指南 客户案例 快速搭站系统 快速开发平台 框架升级 毛衫行业ERP 秘钥 密钥 权限设计 软件报价 软件测试报告 软件加壳 软件简介 软件开发框架 软件开发平台 软件开发文档 软件授权 软件授权注册系统 软件体系架构 软件下载 软件著作权登记证书 软著证书 三层架构 设计模式 生成代码 实用小技巧 视频下载 收钱音箱 数据锁 数据同步 微信小程序 未解决问题 文档下载 喜鹊ERP 喜鹊软件 系统对接 详细设计说明书 新功能 信创 行政区域数据库 需求分析 疑难杂症 蝇量级框架 蝇量框架 用户管理 用户开发手册 用户控件 在线支付 纸箱ERP 智能语音收款机 自定义窗体 自定义组件 自动升级程序
联系我们
联系电话:13923396219(微信同号)
电子邮箱:23404761@qq.com
站长微信二维码
微信二维码