用meteor框架做的微博网站,招聘网最新招聘,网站推广代运营,jsp网站开发英文文献1.单一职责原则 (Single Responsibility Principle):
每个模块应该专注于执行一个清晰且明确定义的功能#xff0c;遵循单一职责原则#xff0c;以降低模块的复杂性。
2.高内聚性 (High Cohesion):
模块内的组件和类应该紧密相关#xff0c;共同实现模块的目标。高内聚性…1.单一职责原则 (Single Responsibility Principle):
每个模块应该专注于执行一个清晰且明确定义的功能遵循单一职责原则以降低模块的复杂性。
2.高内聚性 (High Cohesion):
模块内的组件和类应该紧密相关共同实现模块的目标。高内聚性有助于提高代码的可理解性和可维护性。
3.低耦合性 (Low Coupling):
模块之间的依赖应该尽可能减少以便修改一个模块时不会对其他模块造成影响。低耦合性有助于实现独立的模块。
4.可重用性 (Reusability):
模块应该设计成可重用的组件以便在项目的不同部分或未来的项目中能够复用。这通过提取通用功能到独立的模块如common模块来实现。
5.清晰的界限和接口 (Clear Boundaries and Interfaces):
模块之间的界限和接口应该明确确保模块之间的交互清晰可见。这有助于团队成员理解各个模块的职责。
6.适度的模块化 (Moderate Modularity):
将功能相近的组件放在同一模块中但避免过度细化以免引入不必要的复杂性。适度的模块化有助于提高项目的可维护性。
7.分层架构 (Layered Architecture):
通过采用分层架构如控制层、服务层、数据访问层等有助于模块的划分和管理。这有助于代码的组织和理解。
8.依赖倒置原则 (Dependency Inversion Principle):
模块之间的依赖关系应该依赖于抽象而不是具体的实现。这有助于降低模块之间的耦合性。
9.测试容易性 (Testability):
模块应该设计成易于测试的单元以便进行单元测试、集成测试和端到端测试。
10.适应未来扩展 (Adaptability for Future Extension):
模块设计应该考虑未来的扩展性以便在需求变化时能够轻松地添加新功能或模块。
打开IDEA 开始创建项目 博主目前脑子里边有一个初步的架构。整体项目使用的是Maven管理的项目。 大概架构长这样 项目目录结构总览目前还不完整
├─.idea
├─le-admin
│ └─src
│ ├─main
│ │ ├─java
│ │ │ └─com
│ │ │ └─le
│ │ │ └─admin
│ │ └─resources
│ │ └─META-INF
│ └─test
│ └─java
│ └─com
│ └─le
│ └─test
├─le-business
│ └─src
│ └─main
│ └─java
│ └─com
│ └─le
│ └─business
├─le-common
│ └─src
│ └─main
│ └─java
│ └─com
│ └─le
│ └─common
├─le-core
│ └─src
│ └─main
│ └─java
│ └─com
│ └─le
│ └─core
├─le-gen-code
│ └─src
│ └─main
│ ├─java
│ │ └─com
│ │ └─le
│ │ └─code
│ │ ├─config
│ │ ├─controller
│ │ ├─domain
│ │ ├─mapper
│ │ ├─service
│ │ └─util
│ └─resources
│ ├─mapper
│ └─vm
└─le-tripartite└─src└─main└─java└─com└─le└─tripartitecore 模块 应用概述 core 模块是整个项目的核心专注于提供通用的配置和基础服务。 主要功能 可能包含 Spring Boot 的核心配置、通用的拦截器、全局异常处理等。 角色定位 不包含具体的业务逻辑主要为其他模块提供基础设施。 pom文件↓
project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersionparentgroupIdcom.xiaole/groupIdartifactIdXiaoLe/artifactIdversion1.0.0/version/parentgroupIdcom.le/groupIdartifactIdle-core/artifactIdnamele-core/namepropertiesproject.build.sourceEncodingUTF-8/project.build.sourceEncoding/propertiesdependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactId/dependency!-- MyBatis --dependencygroupIdorg.mybatis.spring.boot/groupIdartifactIdmybatis-spring-boot-starter/artifactId/dependency!-- Mysql驱动包 --dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactId/dependencydependencygroupIdcom.le/groupIdartifactIdle-business/artifactId/dependency/dependencies
/projectcommon 模块 应用概述 common 模块用于存放通用的工具类和公共配置为整个项目提供共享的基础。 主要功能 包含通用的工具方法、常量、公共配置等。 角色定位 不包含具体的业务逻辑主要为其他模块提供通用功能。 pom文件↓
project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersionparentgroupIdcom.xiaole/groupIdartifactIdXiaoLe/artifactIdversion1.0.0/version/parentgroupIdcom.le/groupIdartifactIdle-common/artifactIddescriptioncommon/descriptionpropertiesproject.build.sourceEncodingUTF-8/project.build.sourceEncoding/propertiesdependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-security/artifactId/dependencydependencygroupIdorg.apache.commons/groupIdartifactIdcommons-lang3/artifactId/dependency/dependencies
/projectgenCode 模块 应用概述 genCode 模块可能是一个工具模块用于生成代码或加速开发过程。 主要功能 可能包含代码生成器、模板引擎等用于生成基础代码结构。 角色定位 可能是一个开发辅助工具用于提高代码生成的效率。 pom文件↓
project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersionparentgroupIdcom.xiaole/groupIdartifactIdXiaoLe/artifactIdversion1.0.0/version/parentgroupIdcom.le/groupIdartifactIdle-gen-code/artifactIdnamele-gen-code/namepropertiesproject.build.sourceEncodingUTF-8/project.build.sourceEncoding/propertiesdependenciesdependencygroupIdcom.le/groupIdartifactIdle-common/artifactId/dependencydependencygroupIdorg.apache.velocity/groupIdartifactIdvelocity-engine-core/artifactId/dependency/dependencies
/projectbusiness 模块 应用概述 business 模块是项目的业务核心包含实际的业务逻辑和数据库访问。 主要功能 包含与业务相关的服务、领域逻辑、数据库访问如 MyBatis、Redis、业务配置等。 角色定位 为整个项目提供具体的业务功能可能包括订单处理、用户管理等。 pom文件 ↓
project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd
modelVersion4.0.0/modelVersion
parentgroupIdcom.xiaole/groupIdartifactIdXiaoLe/artifactIdversion1.0.0/version
/parentgroupIdcom.le/groupId
artifactIdle-business/artifactIdnamele-business/namepropertiesproject.build.sourceEncodingUTF-8/project.build.sourceEncoding
/propertiesdependenciesdependencygroupIdcom.le/groupIdartifactIdle-common/artifactId/dependencydependencygroupIdcom.le/groupIdartifactIdle-tripartite/artifactId/dependency/dependencies
/projecttripartite 模块 应用概述 tripartite 模块可能是与第三方服务集成的模块处理外部服务的调用和数据交互。 主要功能 包含与第三方服务通信的代码、集成配置等。 角色定位 为整个项目提供与外部系统的连接可能包括支付网关、第三方 API 等。 pom文件 ↓
project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersionparentgroupIdcom.xiaole/groupIdartifactIdXiaoLe/artifactIdversion1.0.0/version/parentgroupIdcom.le/groupIdartifactIdle-tripartite/artifactIdnamele-tripartite/namepropertiesproject.build.sourceEncodingUTF-8/project.build.sourceEncoding/propertiesdependenciesdependencygroupIdcom.le/groupIdartifactIdle-common/artifactId/dependency/dependencies
/projectadmin 模块 应用概述 admin 模块可能是项目的管理界面提供对系统的监控和管理功能。 主要功能 包含管理界面的业务逻辑、前端代码、可能的后台服务等。 角色定位 为管理员提供系统监控、用户管理等功能。 pom文件 ↓
?xml version1.0 encodingUTF-8?
project xmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersionparentgroupIdcom.xiaole/groupIdartifactIdXiaoLe/artifactIdversion1.0.0/version/parentgroupIdcom.le/groupIdartifactIdle-admin/artifactIdpackagingjar/packagingpropertiesproject.build.sourceEncodingUTF-8/project.build.sourceEncoding/propertiesdependenciesdependencygroupIdcom.le/groupIdartifactIdle-gen-code/artifactId/dependencydependencygroupIdcom.le/groupIdartifactIdle-core/artifactId/dependency/dependencies
/project父pom
?xml version1.0 encodingUTF-8?
project xmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdcom.xiaole/groupIdartifactIdXiaoLe/artifactIdversion1.0.0/versionpackagingpom/packagingnamexiaole/namedescription小乐/descriptionmodulesmodulele-admin/modulemodulele-common/modulemodulele-core/modulemodulele-business/modulemodulele-gen-code/modulemodulele-tripartite/module/modulespropertiesspring-boot.version2.5.8/spring-boot.versionxiaole.version1.0.0/xiaole.versionvelocity.version2.3/velocity.versionmybatis.version2.2.0/mybatis.version/propertiesdependencyManagementdependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-dependencies/artifactIdversion${spring-boot.version}/versiontypepom/typescopeimport/scope/dependencydependencygroupIdorg.apache.velocity/groupIdartifactIdvelocity-engine-core/artifactIdversion${velocity.version}/version/dependencydependencygroupIdcom.le/groupIdartifactIdle-core/artifactIdversion${xiaole.version}/version/dependencydependencygroupIdcom.le/groupIdartifactIdle-admin/artifactIdversion${xiaole.version}/version/dependencydependencygroupIdcom.le/groupIdartifactIdle-common/artifactIdversion${xiaole.version}/version/dependencydependencygroupIdcom.le/groupIdartifactIdle-business/artifactIdversion${xiaole.version}/version/dependencydependencygroupIdcom.le/groupIdartifactIdle-gen-code/artifactIdversion${xiaole.version}/version/dependencydependencygroupIdcom.le/groupIdartifactIdle-tripartite/artifactIdversion${xiaole.version}/version/dependencydependencygroupIdorg.mybatis.spring.boot/groupIdartifactIdmybatis-spring-boot-starter/artifactIdversion${mybatis.version}/version/dependency/dependencies/dependencyManagement/project为什么采用import引入SpringBoot
import 语句可以用于将其他 Maven 项目中的 POM 文件导入到当前项目中。这样可以实现模块化的项目管理。
使用 import 语句导入其他项目的依赖时可以在导入时指定版本使得项目能够更加灵活地选择使用依赖的版本。
可以将相关的模块组织到不同的 Maven 项目中通过 import 在一个父项目中统一管理。这有助于更好地组织项目的结构。