本文摘取自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)---前期准备的更多相关文章

  1. Prism学习--实现可插拔的模块

    首先,在使用Prism框架加载的程序集中分别添加一个类,并让这些类实现IModule接口.当Prism框架加载某个程序集后,将首先在程序集中搜索实现了该接口的类.之后将会调用该接口的Initializ ...

  2. Prism 学习:从配置文件中加载 Module

    之前我们已经了解过,如何从指定的目录中来加载 Module(原文),现在我们来看,如何从应用程序的配置文件中来加载 Module.以这种方式来加载 Module 的优点包括:1. 被加载的 Modul ...

  3. Prism 学习:从本地目录加载 Module

    在 Prism 中,将外部模块加载到主程序有以下几种方式:Code.XAML.配置文件.指定模块目录:其中,如果要使用 Code 方式来加载 Module,则需要将该 Module 引用到当前项目中: ...

  4. Prism学习笔记-模块之间通信的几种方式

    在开发大型复杂系统时,我们通常会按功能将系统分成很多模块,这样模块就可以独立的并行开发.测试.部署.修改.使用Prism框架设计表现层时,我们也会遵循这个原则,按功能相关性将界面划分为多个模块,每个模 ...

  5. 学习vue之windows下安装live-server 超级详细篇

    最近项目要求用vue2.0所以开始着手学习. 前期准备: 下载Node.js 地址:http://nodejs.cn/download/ 选择自己对应的版本,我下载的是.msi 64位的 然后就双击下 ...

  6. 如何用jmeter进行数据库性能测试

    由于业务需要,需要进行数据库性能测试,记录过程进行学习 测试前期准备: 1.测试点准备及需求点 a.性能测试目的 b.jmeter测试数据库基本脚本  get c.数据库性能监控工具选择 d.服务器性 ...

  7. GridRegionAdapter(slivelight)

    原地址:http://www.xuebuyuan.com/68722.html Prism学习之SilverlightWindowRegionAdapter[0评] 文章作者: healer 文章分类 ...

  8. 【prism】前期准备

    在网上下了prism框架源码,目前最新版本为4.1,其中包含的内容如下: 其中包含三类文件: 1.类似于Desktop only-Prism Library.bat的批处理文件,用来打开相应的Pris ...

  9. Prism - WPF MVVM(Model-View-ViewModel)设计模式【学习】

    开发工具: VS2010 Blend Prism框架 基本概念: 数据绑定,依赖属性,依赖对象 WPF 委托式命令 Icommand接口 Lambda表达式 MVVM(Model-View-ViewM ...

随机推荐

  1. 新书《计算机图形学基础(OpenGL版)》PPT已发布

    为方便有些老师提前备课,1-10章所有章节已发布到本博客中. 欢迎大家下载使用,也欢迎大家给我们的新书反馈与意见,谢谢!

  2. JQuery的click,trigger触发a标签的click事件无效的问题分析

    今天在做一个手机端webAPP链接下载的时候,给a标签一个下载链接,但是通过 <a id="downFile" download="" href=&quo ...

  3. eoLinker-AMS开源版JAVA版本正式发布

    eoLinker-AMS开源版JAVA版本正式发布! eoLinker深感广大开发者的支持与厚爱,我们一直在努力为大家提供更多更好的接口服务.截止至2018年4月3日,eoLinker-AMS 开源版 ...

  4. eas之新建窗口

    public void actionObjectProp_actionPerformed(ActionEvent e)          throws Exception {     UIContex ...

  5. Redis启动出错 noauth authentication required.

    输入认证过的密码即可. 在命令行中运行: auth password

  6. BZOJ 1101 Luogu P3455 POI 2007 Zap (莫比乌斯反演+数论分块)

    手动博客搬家: 本文发表于20171216 13:34:20, 原地址https://blog.csdn.net/suncongbo/article/details/78819470 URL: (Lu ...

  7. 炒了8年的概念,到底该如何理解DevOps这个词?

    什么是DevOps及误区 DevOps概念从2009年提出已有8个年头.可是在8年前的那个时候,为什么DevOps没有迅速走红呢?即便是在2006年Amazon发布了ECS,微软在2008年和2010 ...

  8. 通过Sqoop实现Mysql / Oracle 与HDFS / Hbase互导数据

    通过Sqoop实现Mysql / Oracle 与HDFS / Hbase互导数据\ 下文将重点说明通过Sqoop实现Mysql与HDFS互导数据,Mysql与Hbase,Oracle与Hbase的互 ...

  9. JavaScript向window onload添加加载函数

    有时候我们需要在页面加载事件后完成一些函数操作,对于函数比较多的情况下可以写一个统一的加载函数 .本函数来自于JavaScript DOM 编程艺术: function addLoadEvent(fu ...

  10. 【ACM】hdu_1096_A+BVIII_201307261748

    A+B for Input-Output Practice (VIII)Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32 ...