一种软件架构

我们初入软件,在相当的一段时间内,我们的工作都仅限于在别人的代码的基础上增增减减,,但是永远乐于增增减减的人是不能进步的。我们常说,软件架构是一个很高深的东西,但是,软件大牛们也是我们一样起步的,只是后来人家做出了改变,借用我好朋友泉哥的一句话:再NB的人,也有苦逼的青春。

我的想法,先走一步,错了再说,让我们从苦逼的青春开始吧!

在人力相对充足的软件企业中,项目中可见代码的部分都是业务性质较多,框架类的东西,不可见,不可改,有时候被封装成库,总之,不是你在SVN上那些东西,有时候我们叫这些代码为底层代码。

软件大牛往往为你创建了一个项目模板,你只需要在每个新的项目的增增减减,但若你留心一些,也能将其中原理体会一二。

我曾经在华为对一个东西百思不得其解,程序运行过程竟然需要头文件(.h文件),我当时都怀疑架构是不是自带编译器重新编译,当然我不相信华为有这个实力,拿到底层的代码后,我傻了,方法竟然是把头文件直接分析内容,然后偏移虚函数表,调用虚函数的过程,按我当时的想法,这种作法太下流了。

其实,上一个事情我想说的是,需要你去琢磨,才有明白的可能。

现在步入正题,我介绍一种简单的软件架构。

框架代码:1、父类Application

Application

{

   Void virtual run()

   Virtual ~Application();

};


 

2、main函数

main()

{

   Extern Application* pApp;

  pApp->run();

   delete pApp;

}


 

业务代码:

1、子类Work,一个子类对象

Work work;

Application* pApp;

Work

{

   Virtual void run();

}


 

框架中的重点之处,

1、run()和析构函数是虚函数(框架己定)

2、继承(代码中定义)

3、一个被其它源文件使用的全局变量。(代码中实现)

4、框架实现了只需要关心子类中run()对业务逻辑的处理正确即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值