当前位置: 首页 > news >正文

java 模块化 组件化_关于模块化、组件化的理解

模块化、组件化是一种开发思想,是一种开发思路上的解决方案,我们大多数人要是没有深入理解 这个概念的话,会有一种模糊摸不着模块化、组件化意思的感觉,会有一种想用模块化、组件化来实现项目却不知道怎么下手。其实,只要记住,模块化只是一种思想,不是一种具体的解决方案。

在项目中,我们可能用到类似bootstrap里的组件(button)一样,我们把这些组件理解为组件化开发的实现,意识上,我们大多数人会刻意去区分组件化、模块化,其实这只是我们中文上去区分,英文上都是model,都只是一种解决思路,不同的是,需求不同,实现出来的代码效果也是不同。举个例子,bootstrap里的button组件,它是有一个独立的可执行的单员,就直接引用,在页面上你就会看到一个button的按钮出现,这也就是所说的颗粒化,而bootstrap里的栅格系统,你不可能单单引用栅格系统的样式类,页面中就会呈现出具体的效果出来,还需依赖一个具体的html标签或者其他的组件,而button组件是不需要依赖其他的组件或者什么的,人们就会惯性的理解成button是一个组件,栅格系统是一个模块,因为button是独立的。其实,他们都一样,只是需求不同,都是用模块化的思路解决方案。button的需求是开发一个ui组件,栅格系统是开发一个排版布局的布局解决方案。

事实上,模块化(组件化、模块化总称为模块化吧,不区分了)在我们实际项目开发上回很常用到,容易理解的是开发一个下拉框通用组件这种封装好的组件,难以理解的就是定义一个margin外边距的一系列的属性样式集合,比如margin:10,margin:20,margin:30等,这也是一个模块,定义的一个实现不同外边距的需求的模块实现。

当然,模块化说了是一种思路,不仅仅是体现在具体的代码逻辑上,还体现在文件管理上,页面布局等等,比如,webpack模块化管理工具上实现的多个入口的配置,按照页面或者页面中的不同模块区域对js/css图片等进行压缩整合按照不同页面呈现、不同模块区域呈现导入不同的文件,这也是模块化的思维。

以上是小可对模块化的一些理解,有错误请江湖上各位好友指正,嘻嘻~多多交流,一起成长进步~

相关文章:

  • java isnull方法_Java 检查判断变量null(空值)的方法示例代码
  • java容器类的实现_java容器类总结——基于JDK1.8
  • MySQL实验7存储过程_存储过程 · MySQL5.7文档 · 看云
  • php mysql insert 默认_PHP MySQL Insert Into
  • 称重机 java_Java实现称重3次找到假球
  • triangle java_LeetCode Triangle Java版本
  • python用户重复输入_在Python中从用户输入中查找重复值
  • java类与类之间的类图_UML类图(Class Diagram)中类与类之间的关系及表示方式(转)
  • java按时间范围过滤_Java列表按日期过滤
  • java员工表代码_基于java+ssh员工考勤管理系统源代码
  • java返回指定json格式_java返回json格式数据
  • java字符型数据的长度_Java字符串创建和长度
  • java正则表达式笔记_java正则表达式笔记
  • java打印两个字符串_Java 按字母顺序中打印两个字符串的公共字符
  • mysql 不显示警告信息_关闭mysql不安全语句警告
  • 【162天】黑马程序员27天视频学习笔记【Day02-上】
  • 【Amaple教程】5. 插件
  • 【腾讯Bugly干货分享】从0到1打造直播 App
  • 11111111
  • CSS居中完全指南——构建CSS居中决策树
  • Linux中的硬链接与软链接
  • Sass Day-01
  • 从PHP迁移至Golang - 基础篇
  • 聊聊spring cloud的LoadBalancerAutoConfiguration
  • 如何优雅的使用vue+Dcloud(Hbuild)开发混合app
  • [地铁译]使用SSD缓存应用数据——Moneta项目: 低成本优化的下一代EVCache ...
  • 【云吞铺子】性能抖动剖析(二)
  • 新年再起“裁员潮”,“钢铁侠”马斯克要一举裁掉SpaceX 600余名员工 ...
  • ${ }的特别功能
  • (2)(2.10) LTM telemetry
  • (4)logging(日志模块)
  • (zt)基于Facebook和Flash平台的应用架构解析
  • (阿里巴巴 dubbo,有数据库,可执行 )dubbo zookeeper spring demo
  • (分享)自己整理的一些简单awk实用语句
  • (附源码)springboot 校园学生兼职系统 毕业设计 742122
  • (附源码)ssm高校社团管理系统 毕业设计 234162
  • (一)ClickHouse 中的 `MaterializedMySQL` 数据库引擎的使用方法、设置、特性和限制。
  • (状压dp)uva 10817 Headmaster's Headache
  • .NET DataGridView数据绑定说明
  • .NET 中什么样的类是可使用 await 异步等待的?
  • .NET微信公众号开发-2.0创建自定义菜单
  • @property括号内属性讲解
  • @Transactional类内部访问失效原因详解
  • [ 网络基础篇 ] MAP 迈普交换机常用命令详解
  • [④ADRV902x]: Digital Filter Configuration(发射端)
  • [Android]RecyclerView添加HeaderView出现宽度问题
  • [C++数据结构](31)哈夫曼树,哈夫曼编码与解码
  • [CC2642r1] ble5 stacks 蓝牙协议栈 介绍和理解
  • [CISCN 2023 初赛]go_session
  • [G-CS-MR.PS02] 機巧之形2: Ruler Circle
  • [HJ73 计算日期到天数转换]
  • [LeetCode] 93. Restore IP Addresses 复原IP地址
  • [LeetCode] Contains Duplicate
  • [Python] 什么是KMeans聚类算法以及scikit-learn中的KMeans使用案例
  • [Silverlight]MVVM+MEF框架Jounce学习(1):Why?