首页
学习
活动
专区
工具
TVP
发布

哲学驱动设计

专栏作者
187
文章
190310
阅读量
52
订阅数
学习过程反思
    本篇反思总结了一般的学习过程。掌握学习的方法,可以让你更高效地进行学习。这对于天天要学新技术的IT人员来说,是非常重要的。     本文反思了自己学习WPF过程中出现的一些问题,然后对以后学习的方法进行了重新设计。     本文的主要内容: 与学习相关的哲学思想 原来的学习方案设计 工具的反思 没学好的原因 新的方案 相关哲学理论     我之前的文章中,有一些最基本的哲学思想和最抽象的学习过程,见:《方法》。这些基本理论中,与学习过程直接相关的是: 系统论:学习的过程中,切不可一叶障目,要系统、全
用户1172223
2018-01-30
6120
WPF 中 ICollectionView 及 ItemsControl 相关的重点
为 OEA 框架 做 WPF 树型表格控件时,浪费了许多时间在一些知识点上,所以写了这篇博客总结一下,和各位博友分享。 ICollectionView 接口的简易使用方法 它的 SortDescriptions、GroupDescription 等属性会影响视图的结构,一般情况下会自动刷新。 也可以直接使用 Refresh 方法来命令视图的刷新(内部实现一般为重建内部视图模型集合)。 如果是批量操作,也可以使用 RefreshDefer 方法来抑制多次刷新,待多个更新操作后再统一刷新。 Collection
用户1172223
2018-01-29
1.6K0
《OEA - 实体扩展属性系统 - 设计方案说明书》
    这篇设计文档是 12 月份写来参加公司的研发峰会的,自己倒是信心满满,不过最后还是没有入围。现在想想也没啥大用,所以贴出来,期待与园友交流。     文档有点长,没全部贴在博客中,有兴趣的可以下载附件中的 PDF。  附件:《实体扩展属性系统-系统设计说明书.pdf》 ================= 分隔线 ====================== 目录 前言... 4 1 背景与需求... 5 1.1 产品 721 客户化开发的需要... 5 1.2 实体动态列... 6 1.3
用户1172223
2018-01-29
1.8K0
OEA 扩展属性系统 - 任意适配 WPF Binding 的设计分析
OEA 将会使用最新的扩展属性系统来编写实体类,而这些实体类需要绑定到WPF界面上。那么,扩展属性如何支持绑定呢?下面的图是分析在 WPF 中如何支持 DataTable 的动态列绑定。之后的 OEA
用户1172223
2018-01-29
6830
任务记录:OEA 框架中的多类型树控件
    11年11月我主要对 OEA 框架中 WPF 自动界面生成模块中多类型树型表格控件进行重构,并同时支持更多的功能。这样,整个 OEA 就不再使用 DataGrid,结束了 DataGrid 与
用户1172223
2018-01-29
9860
搭建 WPF 上的 UI 自动化测试框架
简要说明 OEA 1.0-2.0 框架中,界面都是以 WPF 技术作为基础平台开发的。我们需要对开发出来的系统进行自动化测试,而 .NET 平台的自动化测试平台在公司内部还没有其它部门完成,所以我们在 2010 年的时候使用 Ruby + VS UIUnitTest 开发了一个 UI 自动化(UI Automation,以下简称为UIA)框架,估且称其为 UIA 1.0。UIA 1.0 完全由周金根搭建,相关的内容,大家可以参考他写的这几篇文章: 《使用VS2010的CodedUI来做自己的自动化测试框架
用户1172223
2018-01-29
2K0
一个简单的 Chrome 插件
之前做秒杀器的时候,使用的是 WPF 客户端,借助 HttpWebRequest 来实现远程调用。 后来看到别人抢火车票的软件是一个 Chrome 插件,发现这样写起来要简单太多了。一直想搞一个插件。
用户1172223
2018-01-29
5640
WPF Command CanExecute 的执行逻辑
WPF 中命令的 CanExecute 执行逻辑,我一直觉得比较麻烦,画出来就清晰多了,备忘:
用户1172223
2018-01-29
9510
私活后的 WPF 设计经验总结
WPF 是一个界面层框架技术,要对 WPF 技术达到熟练运用的程度,需要同时拥有开发和设计两方面的知识。而我作为一名开发人员,以前的总结都是站在开发人员的角度,今天这篇博文则期望更多地站在设计人员的角度来进行总结。其实,开发人员比较难理解WPF 框架中为什么会提出 Style、Template、Command、State、StoryBoard、Trigger 等这些概念,但是当你看一看 Flash 或者 PhotoShop 的设计人员平时的工作,就会发现原来许多概念早已是他们的常识,而 .NET 只是把这些
用户1172223
2018-01-29
1.8K0
WPF Graphics 相关类图
WPF 中 Graphics 相关的类有时候看起来比较晕,有些类的命名也比较相近,所以画出下面几个图,帮助记忆: 1. Geometry 几何图形 2. PathGeometry 路径几何图形 3.
用户1172223
2018-01-29
1.1K0
OEA 中 WPF 树型表格整体重构
为什么要重构     上两个月主要做了一件事情,那就是把 OEA 框架中的 TreeGrid 控件,从结构上重新设计,并大量重构现有代码。而花较大精力做这件事的原因,主要是因为: 业务中需要支持一系列新功能:整行编辑、上下箭头键进行导航、合计行、锁定列 等。 控件显示性能较差,需要支持列虚拟化。 和 OEA 元数据系统耦合,希望独立为单独的控件程序集,提高复用性。 不支持 xaml 声明的格式。原控件直接在后台用 OEA 代码生成,本质上作为一个 WinForm 控件来用。 整个 TreeGrid
用户1172223
2018-01-29
1.8K0
OEA 中的多国语言实现
    本篇博客主要描述在 OEA 框架中的多国语言框架的原理及应用。 多国语言常见实现及原理分析     管理软件平台,一般来说,都应该支持多国语言,以支持应用程序走向国际化。OEA 最近也提供了多国语言框架,它可以在修改少量甚至不修改代码的情况下,快速、灵活地,使得整个应用软件支持各个国家的语言。在 .NET 平台上,要实现多国语言切换,一般可以使用资源文件实现;在WPF中,也可以使用动态引用实现。这些可以参考以下几篇文章中讲到的方法:《WP7多国语言支持》、《一种灵活的WPF程序多国语言支持》、《.N
用户1172223
2018-01-29
8720
OEA 中 WPF 树型表格虚拟化设计方案
    最近用 OEA 做的仓库管理系统中,许多界面的都需要使用表格控件来显示数据。一是这些表格的列非常多,有的甚至达到了 200 列,而且一个模块的界面中可能同时显示好几个表格。这导致界面的速度比较慢,特别是较多数据需要展现时。经检测,表现虽然表格的行已经做了虚拟化,但是由于列非常多,最终还是造成可视树中的元素过多,而导致界面布局代码运行过慢。假设只有 30 行,一个单元格仅生成 5 个可视元素,200 列的单元格都会产生 3W 个可视元素,而布局系统的 Measure 方法需要对可视树中的每一个元素都调
用户1172223
2018-01-29
2.6K0
精通 WPF UI Virtualization
    本篇博客主要说明如何使用 UI Virtualization(以下简称为 UIV) 来提升 OEA 框架中 TreeGrid 控件的性能,同时,给出了一些学习 UIV 的资源。 问题     最近对 OEA 的 TreeGrid 控件进行了比较大的改造,并使用新的控件来替换了系统中所有的 DataGrid 控件。新的 TreeGrid 控件实现了很多新的功能,(之后会写一篇文章说明),但是最后遗留了一个问题:由于使用它替换了原来的 DataGrid,而 DataGrid 默认是支持 UI Virtu
用户1172223
2018-01-29
2.3K0
WPF Commanding Overview 的笔记
整个命令系统的流程如下: CommandManager 负责监听一些它关注的属性的更改(例如:Focus、Click),当界面上有此类事件发生时,它会通知所有的 RoutedCommand 发生 CanExecutedChanged 事件。 这时,已经绑定了这些 RoutedComamnd 的 CommandSource (主要是各类控件),会调用 RoutedCommand 的 CanExecute 方法来检测是否可执行,并根据返回的结果来设置自己的状态。如,当返回可执行时,作为 CommandSou
用户1172223
2018-01-29
4400
WPF RoutedEvent 相关设计草图
随手理了理 RoutedEvent 相关的几个知识点:
用户1172223
2018-01-29
5130
WPF架构学习总结
预期读者     1. 初学者。     2. 懒得总结的人。:)     3. 想大致了解WPF框架主要类的功能的人。 前言     学习WPF也有段时间了,今天把学到的东西整理一下,主要还是学自MSDN。     下面,我就WPF中最重要的继承线上的几个类列一下,并归纳下它们的功能和使用场景: Object(托管代码)     首当其冲的,自然是System.Object类了。这里主要想说的是,WPF的大部分代码都是使用托管代码编写,原因是因为CLR的许多不错的特性(如内存管理、错误处理、通用类型系统
用户1172223
2018-01-29
1.6K0
WPF中ICommand接口 的一个设计问题
public interface ICommand { // Summary: // Occurs when changes occur that affect whether or not the command should execute. event EventHandler CanExecuteChanged; bool CanExecute(object parameter); void Ex
用户1172223
2018-01-29
9720
091019 T AddIn
Add-In,也叫Plug-In,可以在程序编译完成后,嵌入到程序当中的一些模块。 在.net环境下实现这个功能,命名空间为:System.AddIn。 主要是分为七个部分:Host of application, Host views of Add-In,Host-side adapters,Contract,Add-In-side adapters, Add-In views,Add-In。其中Contract是两边都拥有的核心抽象部分。Add-In一边:Adapters实现Contract并调用同样实
用户1172223
2018-01-26
6170
如何学习框架
方法一: *以各种方式了解这个框架产生的原因,及其主要解决的问题。1% *观察其主要外部接口(这里的外部接口是指公有类型)的使用场景,理解它的核心概念。5% *做些简单实例10% 简单的例子来一边实践一边学习,使用一些时间,主要目的是在过程中加深对核心概念的理解。 *把里面比较重要的类列举出来,说明它们都是干什么用的。(比较重要,前期这样直接了解其抽象概念比较符合实际,不要过早深入。)1% *较熟悉框架以后,开始学习它的架构及架构思想。3% *分子系统,深入了解细节。看子系统时,可以先把外部接口都过一遍。
用户1172223
2018-01-26
5830
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档