WinForm与面向对象

简介:
Windows Form,可以说是微软在开发C/S架构上的一个很好的平台,不但可视化做的很好(这应该是微软的强项),而且所有的控件都是建立在面向对向的基础上的,主窗体是第一个对像,它上面的所有控件都是主窗体的一个字段。其实从这个角度看来是完全面向对象的,但在很多时候,我们都会跳出面向象,而是直观的当控件用。
       给常用这个问题,Form1是主窗体,Form2是次窗体,也是在Form1中调用出Form2窗体,调用的时候在Form1中new出Form2,然后show出Form2的对象,这个很好理解,如果在Form1中访问Form2中的数据,或在Form2中访问Form1的数据,再加上,Form1和Form2是类,还有操作的时候是对对象的操作,这些就使整个逻辑,理解起来有点迷糊。如果放到面向对象中的话,是很好理解的,在Form1对象中访问Form2中的数据,就意为着,Form2中数据的访问级别是公有的,才可以访问。在Form2对象中如何访问Form1对象中的,因为Form2对象是在Form1中创建出来的,所以如果操作Form1中的数据,只有把Form1对象传到Form2中进行处理(而不是在Form2中new一个Form1对象来处理),如果看成类和对象,这个关系很好梳理。
        还有一个方面,正因为WinForm把内部的控件都封装成一个一个对角,再加上,WinForm上的控件,用事件的机制来向应用户操作,这就给开发人员(特别是面向对象了解不是太深的人)一个误区,比如,单击一个按钮,去作一个操作,很习惯的一股脑把全部的代码写在事件订阅的方法内,因为这样来去看代码的时候,很直观的感觉,比如这个按钮是查找数据库,把代码写到当前方法内,一目了然,保存按钮,里面写的保存数据的代码,也很直观。在某种承度上,可我们去理解操作流程时,这种写法是更人性化,或更符合人的思维方式的。面向对象的特征是继承,封装,多态,不管那种特征,都能在增加代码的复用性。还有,在有较强的业务逻啊时,对数据的处理,不得不把它们看成一个对象来处理,这个时候,单纯的用事件订阅的方法来处理逻辑,就有点得不应手了,还有就是当处理流程比较大时,单个方法放大量代码,也是不可取的(当然,这不构成我们去评判软件优略的标准)。所以在做WinForm时,一定要设计开对象,对象来源于业务,对象的处理,变换也得靠面向对象的原则来实现,所以对象是建立在代码的认知的基础上的,故对象有时候也会偏离现实原形的。使程序更灵活,再更进一步灵活,就涉及到去很下功的去分离,聚合实体对象与代码协作之间的关系了。
















本文转自桂素伟51CTO博客,原文链接: http://blog.51cto.com/axzxs/393415 ,如需转载请自行联系原作者






相关文章
|
SQL 数据库连接 应用服务中间件
C#WinForm基础编程(三)
C#WinForm基础编程
254 0
C#WinForm基础编程(二)
C#WinForm基础编程
281 0
|
C# 数据安全/隐私保护
C#WinForm基础编程(一)
C#WinForm基础编程
214 0
|
C# 开发者 Windows
WPF 应用程序开发:一分钟入门
本文介绍 Windows Presentation Foundation (WPF),这是一种用于构建高质量、可缩放的 Windows 桌面应用程序的框架,支持 XAML 语言,方便 UI 设计与逻辑分离。文章涵盖 WPF 基础概念、代码示例,并深入探讨常见问题及解决方案,包括数据绑定、控件样式与模板、布局管理等方面,帮助开发者高效掌握 WPF 开发技巧。
438 65
|
前端开发 C# 设计模式
“深度剖析WPF开发中的设计模式应用:以MVVM为核心,手把手教你重构代码结构,实现软件工程的最佳实践与高效协作”
【8月更文挑战第31天】设计模式是在软件工程中解决常见问题的成熟方案。在WPF开发中,合理应用如MVC、MVVM及工厂模式等能显著提升代码质量和可维护性。本文通过具体案例,详细解析了这些模式的实际应用,特别是MVVM模式如何通过分离UI逻辑与业务逻辑,实现视图与模型的松耦合,从而优化代码结构并提高开发效率。通过示例代码展示了从模型定义、视图模型管理到视图展示的全过程,帮助读者更好地理解并应用这些模式。
474 0
|
设计模式 测试技术 C#
WPF/C#:在WPF中如何实现依赖注入
WPF/C#:在WPF中如何实现依赖注入
530 0
|
设计模式 程序员 C#
C# 使用 WinForm MDI 模式管理多个子窗体程序的详细步骤
WinForm MDI 模式就像是有超能力一般,让多个子窗体井然有序地排列在一个主窗体之下,既美观又实用。不过,也要小心管理好子窗体们的生命周期哦,否则一不小心就会出现一些意想不到的小bug
1323 0
|
设计模式 前端开发 C#
WPF/C#:理解与实现WPF中的MVVM模式
WPF/C#:理解与实现WPF中的MVVM模式
1461 0
|
设计模式 开发框架 前端开发
深入理解WPF中MVVM的设计思想
近些年来,随着WPF在生产,制造,工业控制等领域应用越来越广发,很多企业对WPF开发的需求也逐渐增多,使得很多人看到潜在机会,不断从Web,WinForm开发转向了WPF开发,但是WPF开发也有很多新的概念及设计思想,如:数据驱动,数据绑定,依赖属性,命令,控件模板,数据模板,MVVM等,与传统WinForm,ASP.NET WebForm开发,有很大的差异,今天就以一个简单的小例子,简述WPF开发中MVVM设计思想及应用。
352 0
|
前端开发 C# 数据库
WPF MVVM系统入门-下
本文详细讲解WPF,MVVM开发,实现UI与逻辑的解耦。
481 0