当前位置: 首页 > news >正文

网站建设与推广策划案案例优化人员是什么意思

网站建设与推广策划案案例,优化人员是什么意思,ghost 博客wordpress,安徽茶叶学会 网站建设在保证类型可以完成其工作的前提下,我们应该尽可能的给类型分配最小的访问级别。可见性越低那么以后升级更改时所需的变化也就越少——因为能访问你的功能的代码越少,以后可能出现的修改也就会越少。 使用内部类来限制类型作用域 创建内部类是一种常被忽…

   在保证类型可以完成其工作的前提下,我们应该尽可能的给类型分配最小的访问级别。可见性越低那么以后升级更改时所需的变化也就越少——因为能访问你的功能的代码越少,以后可能出现的修改也就会越少。

 

使用内部类来限制类型作用域

  创建内部类是一种常被忽略的限制类型作用域的方法,在创建一个类时,应该仔细考虑这个新类型的作用范围:是将被所有的客户使用?还是仅仅用在程序集的内部。内部的类可以让你在稍后的任意替换其具体的实现,只要两个类实现同样的接口即可。例如下面验证电话号码的类:

1 public class PhoneValidator
2 {
3     public bool ValidateNumber(phoneNumber ph)
4     {
5         //验证号码的代码...略
6         return true;
7     }
8 }

 

现在该类是完全可以工作的,但是随着项目的升级,现在出现了一个新的需求,需要同时处理多种格式的电话号码,例如国际电话号码。为了不把所有的功能都混在一个类中,我们应该尽量降低两个不同功能间的耦合。我们通过接口来暴露功能,创建一个验证电话的接口:

1 public interface IPhoneValidator
2 {
3     bool ValidateNumber(phoneNumber ph);
4 }

 

接着把原来的 PhoneValidator类的访问级别改成internal类型,并实现IPhoneValidator接口:

1 internal class CNPhoneValidator:IPhoneValidator
2 {
3     public bool ValidateNumber(phoneNumber ph)
4     {
5         //验证号码的代码...略
6         return true;
7     }
8 }

 

随后创建支持验证国际电话格式的类:

1 internal class InternationalPhoneValidator:IPhoneValidator
2 {
3     public bool ValidateNumber(phoneNumber ph)
4     {
5         //验证号码的代码...略
6         return true;
7     }
8 }

  上面的例子只是部分实现,通过使用工厂模式可以根据不同的电话号码给出对应的验证器。在程序集外部,只要接口是可见的。而那些针对不同地区的电话号码验证器则只在程序集的内部可见。你可以再任意地为不同的地区添加各自的验证类,而不会担心影响系统内的其他程序集。这样限制了类的作用范围之后,也就减少了日后升级和拓展整个系统时需要更改的代码。这里其实可以为PhoneValidator创建一个公有的抽象基类,其中包含一些公有的实现逻辑,这里使用接口是由于:现在各个实现中的公有逻辑很少。

 

小节:

  更少的公有类型可以让单元测试变得简单,减少了公有类型的数量也就意味着要为公有类型创建的单元测试数量也会变少。同时,更多的使公有API通过接口暴露,在单元测试中也跟容易使用替代类型。以公有类型暴露给外界的类和接口将成为你组件的契约,必须认真对待。接口越复杂,日后修改也就越加受限。暴露的公有类型越少,今后更新扩展时选择的余地就会更大。

转载于:https://www.cnblogs.com/IPrograming/archive/2013/01/14/EffectiveCSharp_21.html

http://www.lbrq.cn/news/2797147.html

相关文章:

  • 松桃县住房和城乡建设局网站网站应该如何进行优化
  • 一个女的让我和她做优惠网站策划推广
  • 西安公司网站费用百度seo插件
  • wordpress过FTP更新建站合肥网络公司seo
  • 装饰公司看的设计网站百度客户端官网
  • 班级网站开发报告seo推广外包报价表
  • 彭阳县城乡与住房建设局网站搜狗站长工具
  • 哪个网站简历做的好淘大象排名查询
  • 网店托管公司seo网络营销
  • 关键词排名优化提升培训百度竞价优化
  • 汉化主题做网站效果图强力搜索引擎
  • 事业单位网站建设方案关键词提取工具
  • 做知乎网站的图片东莞seo整站优化火速
  • 商城网站建设合同烟台seo网络推广
  • 广西网站建设介绍百度seo通科
  • 网站建设自己怎么做最强大的搜索引擎
  • 四川建设厅官方网站查询网站推广优化外包公司哪家好
  • 网站世界排名怎么做谁有恶意点击软件
  • 做外贸哪些b2b网站比较有效重庆seo技术教程博客
  • 做网站编辑好还是美工好网上卖产品怎么推广
  • 做的好的奥运会网站seo免费资源大全
  • 大连市城乡建设局网站付费推广
  • 闵行18路seo属于什么职位类型
  • 做服装设计兼职的网站深圳百度网站排名优化
  • 白云建设网站微信营销技巧
  • 国外设计网站 绿色的北京企业网站推广哪家公司好
  • 常熟高端网站建设搜索引擎推广步骤
  • 微网站如何做推广淘宝app官方下载
  • 欧美风格企业网站人工智能培训班收费标准
  • 网站建设软文谷歌推广开户多少费用
  • opencv学习:图像边缘检测
  • leetcode-python-349两个数组的交集
  • day075-MySQL数据库服务安装部署与基础服务管理命令
  • 华为云服务器(ECS)新手入门:注册、购买与使用实操教程
  • 【报错】Please do not run this script with sudo bash
  • 最新研究进展:2023-2025年神经机器翻译突破性成果