统一接口调用的总结

统一接口分为两个层面。

一.类层面的统一调用

通过接口或者抽象类,让继承类都具有父类的规则或者基本特性。就是书中常说的要面向接口编程。我觉得有很多资深开发人员,都存在一种滥用或者可以说是理论派。

首先我们要理解为什么要面向接口编程?【个人理解,仅供参考】

其中有一个很重要的原因就是应对需求变更。

1.需求频繁变更可能会导致接口一改再改,那接口的意义何在?所以面向接口编程一定要在需求相对稳定的项目中实行。

2.比如Country国家这个模块。基本上不会变更,那为什么还要对Country作约束么?

所以我很反感IXXXDAO和IXXXService,因为根本就没有解决需求变更的问题,大多仅仅是为了IOC注入使用而已,有点为了框架而code的感觉。

 

其实我一直在面向对象和面向过程之间徘徊,试图找到一个通用的最佳方案。如果从哲学的角度去考虑问题,根本不存在最佳方案。事物都具有两面性。就像面向对象的几个原则,它们本身就是相互对立的。所以我们要从实际出发,解决现阶段和可预计阶段的问题。

我遵循的设计准则就是:如何有效提高开发人员的生产效率;尽可能考虑核心业务的需求变更点。后期通过重构来提高程序的可维护性和扩展性。从而达到一个相对的平衡点。

 

二.层之间的统一调用

为什么要统一层之间的调用?

在分层开发的时候。层与层之间的调用就成了一个很大的问题。开发人员必须清楚底层对外的接口。

完善的文档与及时的沟通固然重要,但是我们还可以通过以下方式实现对外接口的提示。

让我们来看一下如何实现,或许您的项目早就类似这样实现了。

        public   class   Creater
        {
                private   CustomerBiz   _customer;
                public       CustomerBiz   Customer
                {
                        get
                        {
                                if   ( _customer   = = null )
                                {
10                                             _customer   =     new   CustomerBiz ( ) ;
11                                 }
12                                 return   _customer;
13                         }
14                 }
15         }

我们在客户端调用的时候就可以这样调用

1 public   void   main ( )
2 {
3         Creator     creator   =   new   Creator ( ) ;
4     creator.Customer.GetCustomer();
4     creator.Member.GetMember();
5 }

只是对类包装了一下,就可以很直接知道底层对上层开放了多少接口了。
也可以使用装饰模式对业务层进一步封装.

转载于:https://www.cnblogs.com/yuanhuaming/archive/2009/12/15/1624774.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值