抽象是一个很可取的设计过程,其目的是实现软件架构的合理性,降低程序代码的复杂性。在以下3个环节常需要架构师去考虑:
1. 业务变得复杂,抽象不可避免
如果业务过程变得越来越复杂,抽象应该尽早去做。即迫使自己跳出之前的复杂性框架,将业务的复杂性分解掉。很多人都知道模式是一种意义上的抽象,但是模式存在以后也是定式,不能完全照搬,架构师当考虑不受定式束缚,最重要的是要将复杂的问题分解掉,用一些封装好的简单功能模块来构建复杂系统,这才是是解决之道。
2. 重复的功能,重复的代码可以抽象
重复的Coding让程序员烦,其实,重复的代码可以抽象成一个方法。很多时候,抽象就是为了不再继续重复,程序员不能偷懒,将重复的Coding抽象成一个方法应该成为一种习惯性思维。
3. 软件系统级别上的抽象
在系统级别上,架构师纵观全局,对系统不合理的地方要重构。当系统的某些功能造成开发人员困惑,或者使用起来不方便,就可以抽象处理,做以改进。
抽象思维过程,有时候更像是哲学意义上的思考。看待事物的方式,分析客观实体之间的联系,事物的正反两个方面,一定程度上的模糊,当存乎于一心,运用而自如。