上一篇:
?C#,入门教程(20)——列表(List)的基础知识https://blog.csdn.net/beijinghorn/article/details/124094382
编写软件(大软件称为系统)与盖大楼一个道理。
假设咱们现在需要盖一座名为“天梯大厦”的大楼,一定设计两方面的内容:
(1)周围有哪些城市基础设施需要接入?
? ? ?网?TV?水?污水?电?气?暖?
(2)盖几层?每一层都干什么?
?? ? 设备层?顶层?
命名空间(namespace)与程序结构就是关心这些问题。
命名空间分为两种。
.NET 和第三方(你也可以是)提供了很多已经写好的工业化标准的基础代码,并编译成 dll 供你直接调用;
这些基础库,只需要在程序中 using 即可。如:
using System;
using System.IO;
using System.Text;
using System.Data;
using System.Linq;
using System.Drawing;
using System.Threading;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Threading.Tasks;
using System.Diagnostics;
using System.Windows.Forms;
using Newtonsoft.Json;
using Legalsoft.Truffer;
...
这类命名空间就是按自己需求进行设计与命名了。
同样应该采用多层次的命名方法,如同大楼每一层给与不同的名字一样,甚至可以对每一间房子给与不同的名字。
namespace K50018.Basic
{
?? ?class set.
}
或:
namespace K50018.Algorithm.Graph
{
?? ?class set.
}
稍微大一点的软件,都会有很多的 cs 文件,如何归类与设计的文件结构比较合理呢?
强烈建议在工程目录下创建 App_Code 子目录,用以保存工程相关的所有 namespace 的 class 文件。
并且按类别予以区分。
比如,幸运之门50018.COM的目录结构,按命名空间区分:
\App_Code
\App_Code\Basic ?存储常用的 Helper 类的基础静态类
\App_Code\K50018 存储核心数据分类代码
\App_Code\K50018\Basic 数据分析的基础代码
\App_Code\K50018\Entity 数据体(从数据库、文件获得)的相关代码
\App_Code\K50018\Algorithm 数据分析的算法代码
\App_Code\K50018\Graph 生成走势图表等分析结果的代码
。。。
很多 ?类(class)具有较多的功能(函数),写在一个文件里面不利于维护。
应该用 partial 修饰符,并将类的函数分别写道不同的 cs 文件中去。
比如:
\App-Code\Legalsoft\Algorithm\PatternSearch-KMP.cs
using System;
namespace Legalsoft.Algorithm
{
?? ?public static partial class PatternSearch
?? ?{
?? ??? ?public static List<int> KMP(string text, string pattern)
?? ??? ?{
?? ??? ??? ?。。。
?? ??? ?}
?? ?}
}
\App-Code\Legalsoft\Algorithm\PatternSearch-Booyer_Moore.cs
using System;
namespace Legalsoft.Algorithm
{
?? ?public static partial class PatternSearch
?? ?{
?? ??? ?public static List<int> Booyer_Moore(string text, string pattern)
?? ??? ?{
?? ??? ??? ?。。。
?? ??? ?}
?? ?}
}
关于更多的 namespace?
不建议使用,或尽量少使用 别名!
此谓:姓名伴一生,奶名不出门。
下一篇:
C#,入门教程(22)——函数的基础知识https://blog.csdn.net/beijinghorn/article/details/124181689