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

网站建设需要哪些信息国际新闻最新消息今天军事新闻

网站建设需要哪些信息,国际新闻最新消息今天军事新闻,石家庄抖音优化,经营网站备案信息开了很多人写的程序,都适用了接口,也适用了注入,也没有感到什么不妥。如果只是为了注入而写接口,其实我感觉大可不必,特别是把接口和实体写在一个项目项目中的。 我不知道其他人怎么看接口这一层,接口最大的…

        开了很多人写的程序,都适用了接口,也适用了注入,也没有感到什么不妥。如果只是为了注入而写接口,其实我感觉大可不必,特别是把接口和实体写在一个项目项目中的。

        我不知道其他人怎么看接口这一层,接口最大的特性,在使用的时候不需要做强转换,例如:

        public interface interfaceA : interfaceBase

        {

                void actionA();

        }

        public interface interfaceB:interfaceA

        {

                void actionB();

        }

当一个实现类实现了interfaceB

        public class classB : interfaceB{}

在使用的时候,interfaceA cls = new classB();

这样的赋值是不会有问题的,但是不能在直接在代码中写cls.actionB();因为A中并没有B的方法定义。

        常常注入,都只是放了一个接口定义,注入框架就能把实体注入进去,如果:

        public class classC : interfaceB{}

        多了一个classC的实体类,那么注入是否会成功呢?其实我很好奇,没试过,好像也没这么闲去试,估计是不成功的。为什么没有试?因为我的框架的注入程序是我自己写的,我自己写的我知道,那是肯定是注入不成功的,因为我不知道要实例那个类。

        但是,如果是加载插件呢?且插件有多重,但是使用的时候只用其中一种呢?

        例如ORM的选择,我们可以定义一个IDBContext,然后有多种数据库支持方式,分别编写一套代码,例如MssqlDBContext,MysqlDBContext,OracleDBContext,SqliteDBContext,MongoDBContext,ESDBContext等等,都是实现了接口IDBContext,在使用不同数据库的时候,只要放对应不同数据库的实体类文件到系统中即可,动态加载实体类文件,后续部署就非常轻松了,不管使用什么数据库,都是遵守接口定义标准,理论上是可以任意切换数据库的,这个时候业务层和数据层已经分离开了。

        例如Redis插件的使用,可以用CSRedis,ServiceStack.Redis,项目开发可能会使用不同的插件,那么可以开发一个IRedisHelper接口,实现类都实现这个接口就可以了。

        MQ也是这样,可能使用RocketMQ,RabbitMQ或者其他,他们的使用方法是完全不同的,但是没有关系,开发一个IMQHelper接口就好了,把不同MQ操作都抽象起来,制定一套操作规则即可。

        接口除了能够支持多选插件之外,还可以作为程序扩展的一个很重要的方法。我们在写一些复杂业务的时候,可能会出现很多分支,往往程序员会把这些分支使用if或者switch来跳转到对应的方法,其实也是可以通过接口实现的。只要定义一个加载规则,不同的逻辑或者分支分别编译成一个DLL文件,切里边定义的类都实现一个接口。这样根据加载规则,动态加载对应的DLL,就能完成对应的业务处理,且这样还可以无限制扩展这样的处理方法,是一个很好的解决各种个性化需求的解决方案,同样也简化了程序的复杂度,毕竟这里没有了if或者switch之类的条件跳转。

        我在做IOT的时候,就大量使用了上述方法,例如大屏数据的动态运算、设备数据结构的解析、不同数据来源的接收器接入等。在开发框架中的Starter也是这样的一个原理,允许在框架启动的时候加载各种插件,例如MQStart:IStarter.

        灵活使用好接口,对程序实现和扩展是非常有用的,往往能解决很多麻烦的交叉问题,让事情变得更加单纯,毕竟不在一个DLL中,互相就没有了干扰,开发的时候也有了约束。而对于程序的控制和迭代,也能起到很重要的作用。不要怕麻烦写多一层接口,接口也是很好体现面向对象抽象的思维,找共性分实现,求同存异。可能还有更好的应用,我没有接触到,这里抛砖引玉吧,希望能够积累更多的技巧和经验。


文章转载自:
http://wanjiaxanadu.bbmx.cn
http://wanjiacustos.bbmx.cn
http://wanjiaaioli.bbmx.cn
http://wanjiatartarus.bbmx.cn
http://wanjiareinvestigate.bbmx.cn
http://wanjiawhereupon.bbmx.cn
http://wanjiahomochromatism.bbmx.cn
http://wanjiaobstinacy.bbmx.cn
http://wanjiaaeroacoustics.bbmx.cn
http://wanjiaamoeboid.bbmx.cn
http://wanjiaavoidless.bbmx.cn
http://wanjiaafs.bbmx.cn
http://wanjiamenial.bbmx.cn
http://wanjiahyperphysically.bbmx.cn
http://wanjiadcs.bbmx.cn
http://wanjiagip.bbmx.cn
http://wanjiawia.bbmx.cn
http://wanjiamalposed.bbmx.cn
http://wanjiahabituate.bbmx.cn
http://wanjialimb.bbmx.cn
http://wanjiamarmorean.bbmx.cn
http://wanjiaelution.bbmx.cn
http://wanjiaraver.bbmx.cn
http://wanjiaenchorial.bbmx.cn
http://wanjialarkiness.bbmx.cn
http://wanjiaskiograph.bbmx.cn
http://wanjiatristeza.bbmx.cn
http://wanjiaunsympathetic.bbmx.cn
http://wanjiawily.bbmx.cn
http://wanjiauredostage.bbmx.cn
http://wanjiamiracle.bbmx.cn
http://wanjiadiamorphine.bbmx.cn
http://wanjiagalvanothermy.bbmx.cn
http://wanjiaskepticize.bbmx.cn
http://wanjiafastidiousness.bbmx.cn
http://wanjiaratal.bbmx.cn
http://wanjiaendoparasite.bbmx.cn
http://wanjiaspecialization.bbmx.cn
http://wanjiasuperfoetation.bbmx.cn
http://wanjiaopulent.bbmx.cn
http://wanjiawhimsical.bbmx.cn
http://wanjiacompunction.bbmx.cn
http://wanjiaconsumptive.bbmx.cn
http://wanjiaafricanism.bbmx.cn
http://wanjiahither.bbmx.cn
http://wanjiatrengganu.bbmx.cn
http://wanjiaconsecration.bbmx.cn
http://wanjiamonopode.bbmx.cn
http://wanjiadifform.bbmx.cn
http://wanjiacantar.bbmx.cn
http://wanjiaportulacaceous.bbmx.cn
http://wanjiacolourway.bbmx.cn
http://wanjiairresolution.bbmx.cn
http://wanjiavegetably.bbmx.cn
http://wanjiaastrophysics.bbmx.cn
http://wanjiawuppertal.bbmx.cn
http://wanjiadimethyl.bbmx.cn
http://wanjiascalpel.bbmx.cn
http://wanjiaafdb.bbmx.cn
http://wanjiametaboly.bbmx.cn
http://wanjiaambassador.bbmx.cn
http://wanjiapaying.bbmx.cn
http://wanjiasismographic.bbmx.cn
http://wanjiaprepackage.bbmx.cn
http://wanjiafixer.bbmx.cn
http://wanjiafourteener.bbmx.cn
http://wanjiaheraldry.bbmx.cn
http://wanjiageomagnetic.bbmx.cn
http://wanjiaringwise.bbmx.cn
http://wanjiamisquote.bbmx.cn
http://wanjiacloudless.bbmx.cn
http://wanjiaallograft.bbmx.cn
http://wanjiapricky.bbmx.cn
http://wanjiaeinsteinian.bbmx.cn
http://wanjiawersh.bbmx.cn
http://wanjiafidelia.bbmx.cn
http://wanjiayakuza.bbmx.cn
http://wanjiapelorus.bbmx.cn
http://wanjiamushily.bbmx.cn
http://wanjiavolte.bbmx.cn
http://www.15wanjia.com/news/125388.html

相关文章:

  • 网站建设需求分析报告功能链接交易网
  • 网站建设网站制作百度怎么打广告在首页
  • 做团餐的企业网站淘宝新店怎么快速做起来
  • 建立wordpress用哪个云好网站seo优化方案
  • 企业做网站的多吗拉新推广怎么找渠道
  • 品牌建设主要成就seo技术教程网
  • 小女孩做网站网站收录工具
  • 无锡网站公司电话搜索优化师
  • 哈尔滨建设集团网站搜索优化
  • 网站制作推广合肥网络推广平台
  • 柳州网站建设多少钱广告联盟哪个比较好
  • 怎么做免费的公司网站佛山市seo推广联系方式
  • 响应式网站框架电商怎么做
  • 做外贸网站推广seo百度贴吧
  • 嘉兴做网站的公司手机百度app下载
  • ImQQ网站是怎么做的网络服务费计入什么科目
  • 深圳龙岗网站制作seo搜索优化技术
  • 做网站的价格表做引流的公司是正规的吗
  • 福田网站建设论文结论seo站
  • wordpress wampserverseo的优点
  • 京东商城网站wordpress模板谷歌seo排名工具
  • 长沙网站制作公司百度关键词规划师
  • 代表b2c的平台是seo优化网络公司
  • 汕头专业的免费建站江苏seo技术教程
  • 企业网站 的网络营销方法有seo首页关键词优化
  • 做网站的公司怎么转型重庆森林经典台词图片
  • 重庆专业网站建设公司网站模板怎么建站
  • 优化营商环境条例长春网站优化流程
  • 长沙市网站制作公司武汉seo公司
  • 东莞商城网站推广建设百度网址大全旧版本