封装二:面向业务逻辑

此标题是盛大一位资深架构师跟我说的,感触颇深

 

在我们设计代码的时候最容易封装的莫过于一个vector,一个map,可能就帮你搞定了(如果这都搞不定,建议你不用继续看本文了),但是在某些时候,我们会发现自己的封装不是那么漂亮,有的是大量的private,protected方法,逻辑有点复杂,但是又想不到如何对他进行更好的封装。如果你仔细回顾一下,你可能会发现一个问题,那就是往往在你碰上这种情况时,你是在设计一个比较复杂的、涉及上下文比较多的算法,并且那里恰好是你整个程序里稍微复杂的那一部分;

 

我说的面向业务逻辑便是将你的程序分为两部分(其实是一部分,为了理解方便称为两部分)

 

容器( 容器很容易搞定,接口基本是固定的,本文不进行描述

业务逻辑

我们平常说的“设计模式”实际上就是为了解决业务逻辑的复杂繁琐设计的,但是往往大量人发现:没接触过设计模式,看不懂,接触过的,哦,这就是设计模式啊,我用过;

 

我们把“设计模式”看的更抽象一点,实际上我们是在解决“业务逻辑”中的代码设计问题,或者我们把“业务逻辑”看的更狭隘一些,复杂业务逻辑的设计;

 

方法:

  1. 能用设计模式就用设计模式吧
  2. 不会就尽可能的拆分你的代码,让他成为一个绝对独立的代码,代码形式不限于class, template;一般情况下,复杂琐碎的业务逻辑都可以设计成功能非常简洁单一的函数(无上下文的),STL里有大量此类模式,比如std::foreach, fill.....等等

以上内容可能需要一定的理解力行

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值