WPF/MVVM系列(2)——绑定

数据是任何软件系统的主角,软件系统的核心功能就是对数据进行存储、处理和展示。

数据存储形式主要包括数据库和文件,该过程相对独立,技术方案也相对成熟;相反,随着UI日趋复杂,数据处理和数据展示这两部分总是难解难分,开发者经常会将两者的代码混淆在一起,一不小心就会严重伤害到软件的可维护性。

WPF的数据绑定就是为了从本质上解决这个问题:将内存数据绑定到UI,内存数据和UI任何一方的变化都能马上同步到另一方,在XAML上实现UI编程,尽可能减少后端代码介入UI逻辑,让开发重心回归到数据处理上。

阅读更多

WPF/MVVM系列(1)——前言

学习WPF之前,思考以下三个问题很有必要:

  1. 已有的Windows GUI开发技术有什么不足?
  2. WPF解决了什么问题?
  3. 学习WPF的目的是什么,最应该掌握哪些部分?
阅读更多

log4net日志库的基本使用

日志在大型软件开发过程中扮演着不可或缺的角色,开发者经常使用它对系统进行调试和监控。
log4net是.NET平台上非常流行的日志库,网上零碎教程鱼龙混杂,花费良久才搭建起可用的基本框架。
本文简单介绍它的使用步骤,后续会专门写篇文章深入剖析其配置文件。

阅读更多

C语言之语法歌

整型浮点加数组,结构共用与枚举。

算术关系逻辑布,顺序条件共循环。

函数复用力无穷,指针威力与天通。

静态有无内外链,自动动态栈堆间。

字符流淌输入出,文件永存信息笺。

阅读更多

C语言之面向对象编程

面向对象编程(OOP)四大特征:抽象、封装、继承、多态。主流的面向对象编程语言(如C++、Java、C#等)都有完善的面向对象实现机制。

C语言是面向过程编程语言,但可以通过结构体和指针实现类似的面向对象语言功能。所以,我更倾向于将其理解为一种编程思想,而不是面向对象编程语言仅有的特性。

本文基于一个实例,演示如何在C语言中实现多态。

阅读更多