1.如何理解軟件設計的模塊化
解決軟件的複雜性問題,或說降低軟件的複雜性。不至於隨着變大而不可控二失敗,使其可控、可維護、可擴展。
模塊化是以分治法爲依據。簡單說就是把軟件整體劃分,劃分後的塊組成了軟件。
這些塊都相對獨立,之間用接口(協議)通信,每個塊完成一個功能,多個塊組合可以完成一系列功能。
2.模塊化的目的是什麼?
2.1 提高工作效率
比如在項目A中你寫一個模塊,A完成後啓動了項目B,在B中就可以直接複用項目A的模塊化了。一個可複用的軟件可以爲將來節省費用,被複用的頻率越高,組件的初始化成本就越低。
2.1 提高軟件質量
可複用的軟件總比不能複用的有更多的質量保障。因爲可複用的軟件在不斷的複用過程中把一些bug,缺陷都很快的排除了。因此可複用的軟件一定是有利於系統的可維護性。
3 如何設計模塊化
3.1 IDEA創建maven項目
3.1.1 刪除src、target目錄,只保留pom.xml
父pom.xml增加的依賴可被子模塊繼承
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.6.RELEASE</version>
</parent>
<modules>
<module>model</module>
<module>dao</module>
<module>service</module>
<module>webapi</module>
</modules>
3.2 創建子模塊(module)
1—>: file -> new -> module 輸入model
2—>: file -> new -> module 輸入dao
3—>: file -> new -> module 輸入service
3.3 修改子模塊pom.xml配置
<parent>
<artifactId>test</artifactId>
<groupId>test</groupId>
<version>1.0-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
注意../pom.xml此段必須加上,用來繼承父模塊
如果要使用其他模塊的程序,必須增加此模塊的依賴
<dependency>
<groupId>test</groupId>
<artifactId>service</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
至此模塊化配置完成。
3.4 模塊化打包
模塊化打包和非模塊化打包不一樣,需要選擇有啓動項目(public static void main(String args[]){SpringApplication.run(Application.class,args);})的java文件所在模塊爲主包,需增加一下配置
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
<configuration>
<classifier>exec</classifier>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
打包命令和之前一樣mvn package -DskipTests
我們運行的真正war包爲帶exec的。
版權聲明:本文爲博主原創文章,未經博主允許不得轉載
獲取更多文章,第一之間掌握技術。
有問題請在公衆號內回覆,小雷會一一回答。