组织应用程序

在传统的Windows应用程序中,动态链接库(Dynamic-Link Library,DLL)是一个非常重要的组成部分。在建立应用程序的可执行文件时,不需要将DLL链接到程序中,而是在程序运行时动态装载DLL。除了很小的程序以外,实际工作的一个应用程序通常都由若干的编译单元共同组成。出于方便,我们常常将大型的程序分为若干个相互联系的可执行程序和动态链接库。

有经验的程序员一定深有体会,使用现有的各种语言开发工具来编写动态链接库是一件非常困难,同时又是非常需要耐心的事情。然而现在你会发现,用C#来编写动态链接库和写简单的可执行程序几乎没什么两样---只要一些简单的标记,编译器将会为我们完成绝大多数的工作。

C#程序是通过使用名字空间来组织的。名字空间可以作为应用程序的内部结构体系,也可以作为应用程序的外部结构体系。在作为外部结构体系时,程序中的一些元素可以被导出到其它的程序。使用指示符导入名字空间有助于使用方便。

16.1 基本概念:动态链接库 编译单元 名字空间和装配

16.2 使用名字空间

16.3 使用指示符

16.4 对应用程序结构进行组织的程序示例

时间: 2024-10-30 11:46:23

组织应用程序的相关文章

对应用程序结构进行组织的程序示例

上面我们介绍了对应用程序结构进行组织的方法,接下来我们举一个综合应用的例子.程序实现的功能非常简单,但其中用到了我们讲解的各方面的知识.在程序中,我们利用名字空间把应用程序功能进行分割,并且用到了在一个名字空间中包含多个类.在一个可执行文件中调用多个动态链接库的方法.程序中还用到了异常处理.类的继承.派生类对虚方法的重载.多态性的实现等概念,希望读者能够在阅读程序时认真注意这些用法,来加深对基本概念的理解. 该程序是一个小游戏,游戏中随机产生矩形.正方形.直角三角形.等腰直角三角形四种图形.游戏

使用Autofac IOC组织多项目应用程序

较复杂的应用程序都是由多个项目组织成的,项目可以划分成程序集(Assemblies)和宿主(Hosts),也就是应用程序的入口. Assemblies 通常是常见的类库项目,包括可以重用的功能和方便测试,通常包括下面的组件: Views, Controllers 和 Models 服务 持久类 和 repositories Decorators Reusable user controls 规则库 业务逻辑 这些项目通常不应该直接依赖于下面的组件: IoC 容器程序集; 日志记录框架 ; 数据访

Win8系统筛选器阻止程序运行

在Windows8许多功能上都有了突破性的改进,今天我们要讲的是Smartscreen筛选器.SmartScreen 筛选器是原本IE中的一种帮助检测仿冒网站的功能,是IE8和IE9的自带功能.在Windows8中,这一功能被整合到了操作系统之中. SmartScreen在Windows8中是一个可以阻止恶意程序运行的安全防护软件.但是它偶尔也会阻止合法应用程序,SmartScreen会将这些信息发送给微软公司,所以它也会牵扯到一些隐私的问题. SmartScreen的工作原理 默认情况下,Wi

程序员生存定律-打造属于自己的稀缺性

假设说你想在江湖里谋求一定的地位,那么你可以练习独孤九剑成为超一流高手,也可以练习医术,成为绝世神医.这两者在江湖里都是有地位的,也都是稀缺的,一者是因为杀伤力,二者是因为人都有山高水长. 程序员也一样,增值也好,改善表达力也好,最终都要在某种环境下达成一定的稀缺性,这样一个人才有价值.稀缺性同时受两个维度上的力量影响:一个是自身的努力,比如前文所提到的增值和表达力:一个是大环境的变化以及对这种变化的适应.在这一章里主要关注的是后者. 稀缺性可带给你什么 既然稀缺性对个人有如此大的影响,那稀缺性

CodeBlocks中程序的多文件组织

一个程序只有一个main函数的时候过去了,我们有了自定义函数. 一个程序只用一个文件的时候也要过去了.当一个程序中的函数多起来时(main函数只能有一个,自然是具有一定规模的项目中要有不少自定义函数),需要将这些函数分门别类地存储到不同的文件中去. 这样组织的程序是易于管理和维护的. 本文讲在CodeBlocks中如何进行程序的多文件组织. 文后有本文示例的代码.从资源中下载PDF版,请点链接:http://download.csdn.net/detail/sxhelijian/6541699

《从问题到程序:用Python学编程和计算》——3.4 定义函数

3.4 定义函数 在最简单的程序中,可能只用到表达式.语句和几种控制结构.但是,仅限于这些基本机制,很难写出很长的解决复杂问题的程序.随着遇到的问题更复杂,我们必须组织好程序的结构,在语句层面之上的基本结构就是函数.一个函数包装起一段代码并给予命名,引进参数将其通用化.定义好的函数可以通过调用表达式使用,非常方便.学习编程的重要一步就是学习定义函数:理解为什么需要定义函数,学会识别编程中定义函数的需求,掌握正确定义函数的技术.本小节和下一章将集中讨论这个问题.3.4.1 为什么定义函数 实际中需

《从问题到程序:用Python学编程和计算》——1.3 程序开发

1.3 程序开发 在用Python学习编程时,自然需要了解Python语言,但更重要的是学习.理解和运用人们长期程序设计工作总结出的经验,包括正确的思考问题方法.正确的程序开发方法以及一些有益的常规做法,还要养成良好的编程习惯.随着学习的深入,需要解决的问题也会变得越来越复杂(当然,实际中的问题和解决它们的程序更复杂得多).比较复杂的东西不是随随便便就能做好的,需要认真工作,也需要正确的工作方法.本书中许多地方提出了这些方面的建议,希望引起读者的重视. 本节简单讨论程序的开发过程,包括程序的设计

[强烈推荐]ORACLE PL/SQL编程详解之七:程序包的创建与应用(聪明在于学习,天才在于积累!)

原文:[强烈推荐]ORACLE PL/SQL编程详解之七:程序包的创建与应用(聪明在于学习,天才在于积累!) [强烈推荐]ORACLE PL/SQL编程详解之七:   程序包的创建与应用(聪明在于学习,天才在于积累!) --通过知识共享树立个人品牌.     继上七篇:            [推荐]ORACLE PL/SQL编程详解之一:PL/SQL 程序设计简介(千里之行,始于足下)            [顶]ORACLE PL/SQL编程详解之二:PL/SQL块结构和组成元素(为山九仞,

Java入门教程系列 – 第一个程序 “hello, world”

原文Java入门教程系列 – 第一个程序 "hello, world" Posted on 2012 年 5 月 25 日 by Johnny "Hello, World"程序指的是指在计算机屏幕上输出"Hello, World!"(意为"世界,你好!")这行字符串的计算机程序.一般来说,这是每一种计算机编程语言中最基本.最简单的程序,亦通常是初学者所编写的第 一个程序.它还可以用来确定该语言的编译器.程序开发环境,以及运行环