Prism学习(1)---前期准备
本文摘取自Gene's Blog的博客园文章,版权归Gene's Blog,仅供个人学习参考。转载请标明原作者Gene's Blog。
在学习Prism框架之前,我预先写了一个非常简单的计算器解决方案。代码如下:
static void Main(string[] args)
{
while (true)
{
string input = Console.ReadLine(); if (CommandTypes.Contains(input))
{
int index = Array.IndexOf(CommandTypes, input); int x = int.Parse(Console.ReadLine());
int y = int.Parse(Console.ReadLine()); int result = funs[index](x, y); Console.WriteLine(result);
}
else
{
Console.WriteLine("Mistake!");
}
}
}
static int Add(int x, int y)
{
return x + y;
}
static int Sub(int x, int y)
{
return x - y;
}
static int Mul(int x, int y)
{
return x * y;
}
static int Div(int x, int y)
{
return x / y;
} static string[] CommandTypes = {"add", "sub", "mul", "div" };
static Func<int, int, int>[] funs = { Add, Sub, Mul, Div };
}
在这里,主要是以学习Prism框架为目的。以上的功能,使用如上的,面向过程的方法来实现,很清晰易懂。不过,既然是面向对象的编程。而且在之后的章节中将要应用到Prism框架及其设计思想和模式。所以在本节中,我们还需要先对上面的代码重构一下。 感兴趣的朋友们,可以点击下载。
我先说明一下,各位下载下去的代码,并没有使用到Prism框架中的任何东西。它只是我为了学习Prism框架而写的一解决方案,算是前期的准备工作。我将在下一章中开始详细记录我是如何学习Prism框架的。希望各路朋友们多多指教。
Prism学习(1)---前期准备的更多相关文章
- Prism学习--实现可插拔的模块
首先,在使用Prism框架加载的程序集中分别添加一个类,并让这些类实现IModule接口.当Prism框架加载某个程序集后,将首先在程序集中搜索实现了该接口的类.之后将会调用该接口的Initializ ...
- Prism 学习:从配置文件中加载 Module
之前我们已经了解过,如何从指定的目录中来加载 Module(原文),现在我们来看,如何从应用程序的配置文件中来加载 Module.以这种方式来加载 Module 的优点包括:1. 被加载的 Modul ...
- Prism 学习:从本地目录加载 Module
在 Prism 中,将外部模块加载到主程序有以下几种方式:Code.XAML.配置文件.指定模块目录:其中,如果要使用 Code 方式来加载 Module,则需要将该 Module 引用到当前项目中: ...
- Prism学习笔记-模块之间通信的几种方式
在开发大型复杂系统时,我们通常会按功能将系统分成很多模块,这样模块就可以独立的并行开发.测试.部署.修改.使用Prism框架设计表现层时,我们也会遵循这个原则,按功能相关性将界面划分为多个模块,每个模 ...
- 学习vue之windows下安装live-server 超级详细篇
最近项目要求用vue2.0所以开始着手学习. 前期准备: 下载Node.js 地址:http://nodejs.cn/download/ 选择自己对应的版本,我下载的是.msi 64位的 然后就双击下 ...
- 如何用jmeter进行数据库性能测试
由于业务需要,需要进行数据库性能测试,记录过程进行学习 测试前期准备: 1.测试点准备及需求点 a.性能测试目的 b.jmeter测试数据库基本脚本 get c.数据库性能监控工具选择 d.服务器性 ...
- GridRegionAdapter(slivelight)
原地址:http://www.xuebuyuan.com/68722.html Prism学习之SilverlightWindowRegionAdapter[0评] 文章作者: healer 文章分类 ...
- 【prism】前期准备
在网上下了prism框架源码,目前最新版本为4.1,其中包含的内容如下: 其中包含三类文件: 1.类似于Desktop only-Prism Library.bat的批处理文件,用来打开相应的Pris ...
- Prism - WPF MVVM(Model-View-ViewModel)设计模式【学习】
开发工具: VS2010 Blend Prism框架 基本概念: 数据绑定,依赖属性,依赖对象 WPF 委托式命令 Icommand接口 Lambda表达式 MVVM(Model-View-ViewM ...
随机推荐
- OpenCV:Adaboost训练时数据扩增
更准确的模型需要更多的数据,对于传统非神经网络机器学习方法,不同的特征需要有各自相符合的数据扩增方法. 1. 在使用opencv_traincascade.exe 过程中,图像读取在 classi ...
- An interesting scroll background------ActionScript3.0
package { /* *@ ClassName : package::backGround *@ INTRO : the continuously scroll background *@ Aut ...
- 读书笔记「Python编程:从入门到实践」_7.用户输入和while循环
7.1 函数input()的工作原理 函数input() 让程序暂停运行,等待用户输入一些文本.获取用户输入后,Python将其存储在一个变量中,以方便你使用. message = input(&qu ...
- 读白帽子web安全笔记
点击劫持 frame buseting if (top.location != location) { top.location = self.location } html5的sandbox属性 ...
- PHP第四天 函数引用传值
<?php function f1($p1,&$p2){ $p1++; $p2++; $result= $p1+ $p2; return $result;}$v1=10;$v2=20;$ ...
- spring-boot启动自动执行sql文件失效 解决办法
在springboot1.5及以前的版本,要执行sql文件只需在applicaion文件里指定sql文件的位置即可.但是到了springboot2.x版本, 如果只是这样做的话springboot不会 ...
- C# 常用语句
var list = dt.AsEnumerable().Select(t => t.Field<string>("Bed")).ToList();Select( ...
- Codeforces Round #550 (Div. 3)E. Median String
把字符串看作是26进制的数,从后往前翻译,那么就可以把两个串变成对应的26进制的数字,那么只要把两个数加起来除以二就得到中间的串对应的数了,同理再转化回来就行了.但是这样会有一个问题就是串的长度有2e ...
- AtCoder ABC 076D - AtCoder Express
传送门:http://abc076.contest.atcoder.jp/tasks/abc076_d 本题是一个运动学问题——匀变速运动. 一个质点,从静止开始运动.按照速度限制,可将运动划分成n个 ...
- win7 VMware下安装centos和Ubuntu共存
最近在空闲时间学习Linux环境中各种服务的安装与配置,都属于入门级别的,这里把所有的学习过程记录下来,和大家一起分享. 我的电脑系统是win7,所以我需要在win7上安装一个虚拟机-VMware ...