写在前面的话
整天写一些看似新鲜但却是千篇一律的代码,你有没有感觉自己的身体被架空?在某个夜晚,加班回去的路上,夜深人静,你有没有反思过自己这一年的得失?有没有觉得好像整天很忙,却全无所得?是的,我就是这种感觉。
最近在积极的备战腾讯的面试。不要吐槽,我说的仅仅是面试而已,这,并不代表什么。想着在自我介绍的时候,我应该怎么去叙述我的职业生涯,怎么去介绍我自己的技术水平?虽然我是一个菜鸟,但我是一个合格的老菜鸟。面试之前,我还是要磨磨枪的。我之前是没有真的重视代码架构的,对设计模式也是仅仅暧昧一下而已,并没有撕心裂肺的爱过。但最近,我却是迷上了这些东西。接下来是我自己最近一段时间的思考,分享出来,有不对的地方,欢迎给我留言。
我不是简单的讲些概念。而是会通过回忆的方式,在实际场景中阐释我对架构和设计模式的理解和感悟。如果想快速了解架构和设计模式,那这篇文章是不适合你的。我不会在开始之前给出一个列表或者清单出来的。别问为什么。如果你真的想知道,就当作是一种对个性的追求吧。
从事互联网开发以来,我共经历了4个大的项目。电商,金融,股票和保险。接下来我将按照这个顺序,通过描述不同的项目,来表达我对架构的理解。注意,我是站在现在的时间点去理解这些项目,不是当时的实际情况。所以,不经历几个项目,有些感悟你真的体会不出来。不要在面试的时候,说自己从很久以前就非常厉害。经验告诉我,如果你这么干了。那你就是在说谎。简而言之,就是如果让现在的我重新去做这四个项目,我会怎么做。
在正式开始之前,我还想抛出一个观点。这个观点是我从第三个项目开始形成的,一直到今天,这个观点愈发的重要。那就是,代码只是工具,就好像我们要从一个车站到达另一个车站一样。代码只是一辆车,一个运输工具。我们真正的目的并不是坐车兜风,而是要借助它到达下一站,或者说达到我们的目的。所以,在写代码之前,一定要充分理解需求。这是最重要的一件事。
1,业务代码繁多,杂乱。如何做架构的设计,如何下沉重构已有代码
2,业务组件的设计,基本组件的设计,以及组件间的解耦
3,如何进行性能优化,要注意优化过程中的细节问题
电商
金融
1,要保证用户数据的准确性,不仅仅是体现在交互上,还有数据的真实性。谨慎使用缓存。
2,网络安全,使用一些加密手段,确保用户数据的安全