- [Unity 3d] VertexPaint (Mesh 顶点画手) - GitHub
雨落随风
一个Mesh顶点动画绘制工具。GitHub上的工程多如繁星,有些好的仓库,但凡不经意间错过了就很难找回,故稍作采撷,希望能帮助到有心人。简介:笔者今天推荐的仓库叫VertexPaint。-顶点画手ThispackageallowsyoutopaintinformationontotheverticesofameshintheUnityeditoraswellasmodifyanyattribute
- Qt触发paintEvent事件
quaer
QTqt开发语言
常见情况下,paintEvent会在以下几种情况下被触发:窗口初始化和显示:当窗口首次被创建、显示或者窗口被覆盖、最小化后再恢复时,paintEvent会被触发以绘制窗口的内容。部件大小或位置变化:如果窗口或部件的大小或位置发生变化,需要重新绘制内容以适应新的尺寸或位置,此时也会触发paintEvent。强制重绘:当调用部件的update()或repaint()函数时,会触发对应部件的paintE
- Flutter 自绘组件 (CustomPaint与Canvas)绘制虚线、区域、直线(一)
goodhighting
程序员flutter前端javascript
有人也许会疑惑,方案1和方案二不都是采用的绘制吗,那可不一定。有的时候解决问题,我们不遵循常规也可以解决问题,满足一时之需了。1、解决问题奇葩方式一:为什么奇葩呢?我们采用多个Container进行竖直或者水平排列完成了效果,至于性能上我们后面慢慢验证了。_lineContainer(){returnContainer(margin:EdgeInsets.only(top:2.0),color:C
- 突发奇想,玩家用《我的世界》重现美术大师画作,还原度很高
爱游戏的萌博士
如果你喜欢绘画,在其中又特别钟情风景画的话,你可能听说过鲍伯·鲁斯(BobRoss)。这其实是罗伯特·诺曼·鲁斯(RobertNormanRoss)的艺名,他是位美国画家,同时也是一位艺术指导与电视节目主持人。鲁斯以他温柔且和乐的语气为特色,在他著名的电视节目“欢乐画室(TheJoyofPainting)”中担任即席教学画家兼主持人,这个节目活跃于上世纪八九十年代。博士为什么要提上面这位顶着爆炸头
- Windows和浏览器的命令与快捷键
伍嘉源
Windowswindows
Windows和浏览器的命令与快捷键一、运行常用命令二、cmd常用命令(cmd的命令是运行的命令的超集)三、Windows快捷键1、Win键2、Ctrl键3、Alt键4、F键四、浏览器快捷键五、关闭Windows防火墙、安全中心和自动更新一、运行常用命令1.基本命令cmd打开命令提示符(cmd命令行控制台)control打开控制面板regedit打开注册表编辑器2.打开系统自带工具mspaint打
- 2023-07-12
大法师的输出
模型:xxmix9realistic_v30LoRA:,,,室内、起居室、咖啡杯等构建环境氛围效果图1(SFW:2),HDR,UHD,8K,bestquality,masterpiece,Highlydetailed,Studiolighting,ultra-finepainting,sharpfocus,physically-basedrendering,extremedetaildescrip
- 春节集市见闻
C18078黄俊豪阅读
图片发自App春节是中国最富有特色的传统节日,由虞舜时期兴起。春节指华夏传统历法夏历的元旦(与中国现行的公历元旦不同),农历正月初一,又称农历新年、大年、岁首、正旦、正月朔日,又叫阴历年,俗称过年、度岁、庆新岁。在中国民间,传统意义上的春节是指从腊月初八的腊祭或腊月二十三或二十四的祭灶,一直到正月十五,其中以除夕和正月初一为高潮。图片发自App年画(newyearpaintings)是中国画的一种
- HarmonyOS Next 使用绘制组件实现自定义进度动画
2401_84181731
2024年程序员学习harmonyos信息可视化人工智能
加载完成后初始显示进度为0%,颜色为红色,且有充电、放电两个按钮。点击充电按钮,进度会持续增长,直到100%时绿色填充满整个圆形,当到达20%以上和80%以上时,颜色动态变化。点击耗电按钮,进度会持续下降,直到0%恢复1中的初始效果,当到达20%以下和80%以下时,颜色动态变化。实现思路使用Circle组件绘制外层的圆环。源码参考PaintComponent.ets。//外框圆环Circle({w
- python:实现声音采集判断声音分贝值
Demons_皮
python开发语言
一、依赖库importwavefrommathimportlogimportnumpyasnpimportpyaudio二、代码defsavewavfile(count):CHUNK=1024FORMAT=pyaudio.paInt16CHANNELS=1RATE=44100RECORD_SECONDS=5WAVE_OUTPUT_FILENAME="output"+str(count)+".wav
- Android使用Paint 和 Canvas 的相关知识,自定义 View 实现一系列效果动画
Android高级
Android经验分享面试android
**setSrokeJoin(Paint.Joinjoin);*设置绘制时各图形的结合方式,如平滑效果等**setStrokeWidth(floatwidth);*当画笔样式为STROKE或FILL_OR_STROKE时,设置笔刷的粗细度**setXfermode(Xfermodexfermode);*设置图形重叠时的处理方式,如合并,取交集或并集,经常用来制作橡皮的擦除效果**2.文本绘制*se
- 录井实时监控曲线组件
悟空也会写代码
c#集成测试个人开发软件工程.net
使用GID+原生代码编写实时动态曲线组件privatevoidDrawAsync(PaintEventArgse){if((points!=null&&points.Count()>0)||(points1!=null&&points1.Count()>0)){PointF[]pointsNew=points.ToList().Where(c=>c.Y!=StartHight).ToArray()
- QT如何在控件上绘图(例如QLabel,Button,QWidget等)
重生之我在四川卖苕皮
QTqtui开发语言
方法一:使用事件过滤机制事件过滤器:由两个函数组成的一种操作,用来完成一个部件对其他部件的事件监视,这两个函数分别是installEventFilter();eventFilter(QObject*obj,QEvent*ev)皆为QObject类中的函数。如何使用:一,ui->paint_widget(子控件名)->installEventFilter(this);//安装事件过滤器二,在.h中加
- 8月29日wpf
西鲶鱼
wpfjavascript开发语言ecmascript
小语折磨我们的往往是想象,而不是真实。学wpf7.071.vs如何创建新项目?退出,创建新项目,点c#,windows,进入界面2.app.config在哪里?好像只有这个。。。试一下,不是我为啥没有config?视频里的F5没用,我自己点了运行,结果差不多20min课程学了俩小时,最后写了一个ui,以下为代码PaintedNotPaintedRubberNotRubber
- Qt:玩转QPainter后转之太极图
血不热了
qt开发语言
前言简单了解了QPainter之后还是要做两个小例子练一练,不实际去做,只看看函数是没啥太大提升的,这里就简单画一个太极图。正文我们都知道太极分为阴阳鱼两部分,阴鱼(黑色)有个白色鱼眼,阳鱼(白色)有个黑色鱼眼;所以我们在画图的时候也可以分成阴阳两部分来画单看阳鱼不算鱼眼的话可以分成三部分,我们可以先画一个大半圆,用大半圆减去上面一个小半圆,再加上下面一个小半圆即可阴鱼正好相反先画一个大半圆,用大
- 新年计划:Kiki's new year resolution
月婵娟
图片发自AppKiki'snewyearresolution:1.Practicedrawingorpaintingatleasttwiceaweek.每周至少练习两次画画。2.Read15minutesperday.每天读书15分钟。3.Teachmom5Englishwordseveryday.每天教妈妈认五个英语单词。
- android自定义view之画圆随着手指移动
✎ℳ๓Eternity✾
进阶View画圆可以跟随手指移动
publicclassMyViewextendsView{privatePaintmFanPaint,mTextPaint;//扇形画笔和文字画笔publicfloatAxisX=100;publicfloatAxisY=100;publicMyView(Contextcontext){super(context);init();}publicMyView(Contextcontext,Attri
- View画矩形统计图(可动态添加)
✎ℳ๓Eternity✾
进阶
布局画矩形统计图publicclassMyViewextendsView{privatePaintmLinePaint,mTextPaint,mRectPaint;ArrayListlist;publicMyView(Contextcontext){super(context);init();}publicMyView(Contextcontext,AttributeSetattrs){super
- 2023-07-02
大法师的输出
大模型:breakdomainrealistic_R2333LoRA:,效果图(SFW:2),HDR,UHD,8K,bestquality,masterpiece,Highlydetailed,Studiolighting,ultra-finepainting,sharpfocus,physically-basedrendering,extremedetaildescription,Profess
- Qt:设置Qwidget类背景方法总结
面条有点辣
Qtqtui开发语言
目录1、引言2、使用样式表(setStyleSheet)3、QPalette4、paintEvent事件5、简洁方式6、总结1、引言 在实现一个页面跳转功能时,选择PushButton或QWidget可以有效当作按钮,而Qwidget可以添加label或者其它控件,自定义程度更高,因此本文给出几种给Qwidget绘制背景图片方法。2、使用样式表(setStyleSheet)ui->widget-
- 100-days-Coding - day12
亨利何
day12-0827html-刮刮奖startpainting刮刮奖的整体思路,就是canvas的动态绘制「事件驱动」使用两个canvas,下层为最终展示层「刮完后的涂层」,上层为「刮层,银色层」每次移动手指时,绘制图形「原型,三角形,等」,特点是透明,可以使得下层显现重点:透明涂层绘画this.ctx.globalCompositeOperation="destination-out";//设置
- 棉花糖的Scalers Talk第四轮新概念英语持续力训练Day 2018116
春晓菲华
练习材料Lesson26ThebestartcriticsWhoisthestudent'sbestcritic?IamanartstudentandIpaintalotofpictures.Manypeoplepretendthattheyunderstandmodernart.Theyalwaystellyouwhatapictureis'about'.Ofcourse,manypicture
- 2023-09-10
大法师的输出
pikasAnimatedMix_10Pruned(SFW:2),HDR,UHD,8K,bestquality,masterpiece,Highlydetailed,Studiolighting,ultra-finepainting,sharpfocus,physically-basedrendering,extremedetaildescription,Professional,VividCol
- C++开源界面库duilib的使用细节与实战技巧总结(实战经验分享)
dvlinker
C/C++实战专栏C/C++软件开发从入门到实战C++开源库duilib使用细节实战技巧控件Layout布局字符串格式化
目录1、使用CEditUI编辑框2、使用CLabelUI或CTextUI的Html文本效果3、使用CTextUI控件对文字宽度自适应的特性4、CRichEditUI富文本控件使用注意点4.1、指定CRichEditUI加在2.0版本的Riched20.dll库4.2、解决向CRichEditUI中插入文字后显示空白的问题5、设置窗口透明度的接口CPaintManagerUI::SetTranspa
- 提升前端性能的JavaScript技巧
丁爸
linuxjavascript
1.前端JavaScript性能问题前端JavaScript的性能问题可以显著影响Web应用的用户体验和整体性能。以下是一些常见的前端JavaScript性能问题:1.1.频繁的DOM操作问题描述:JavaScript经常需要与DOM(文档对象模型)交互来更新页面内容。然而,每次DOM操作都可能触发浏览器的重绘(repaint)或重排(reflow/reflow),这些操作是资源密集型的,会导致页
- 古希腊陶器之03绘有四对象葡萄串的大水罐
iCloudEnd
图片
[email protected]介绍Largejugwithfourgrape-clusterssymmetricallypaintedaroundthebodygrapesareacharacteristicdecorativemotifinTheranpottery.绘有四对象葡萄串的大水罐。公元前16世纪AkroterionThera16thcent.BC.年代:公
- 2021-07-19
rosalind
ThedisguiseofPortraitofanArtistDavidHockney,PortraitofanArtistPortraitofanartistisoneofthemostbelovedpaintingsofHockney,regardlessofthestruggleintheprocessofcreation.However,theexcellenceofthepainting
- c++窗口立即刷新重绘
beibaoke910
windows客户端windowsc++
UI界面没有及时刷新时,添加如下代码强制重绘:InvalidateRect(m_hWnd,NULL,TRUE);UpdateWindow(m_hWnd);当窗体需要更新内容或是重绘外观背景的时候,应用程序通常会发送一条WM_PAINT消息,通知窗体进行重新绘制。1、InvalidateRectInvalidateRect(m_hWnd,lpRect,bErase)强制使客户区中的一个矩形失效,而在
- Qt中对主窗口的一些基本操作
徐kun按门铃
Qt学习cssc++
一,给主窗口添加背景我们在做Qt项目的时候,难免需要在主场口上面添加背景图片,一般有两种方法来实现这一功能,可以在主窗口上面粘贴一个很大的QLabel然后在QLabel上面绘制图片,一般不会这样做,另外一种放法我们就需要重写绘制事件函数。paintEvent事件是在窗口状态改变之后处罚的,窗口的状态改变,可以是大小改变,也可以是别的。如下:头文件:protected://只要窗口状态改变自动调用此
- QTableWidget表头添加复选框实现全选功能
hss2799
Qt
QTableWidget表头添加复选框实现全选功能主要是CheckBoxHeaderView继承QHeaderView,重写paintSection函数voidcheckStatusChange(bool);是复选框是否选中的信号。详细代码如下:#ifndefCHECKBOXHEADERVIEW_H#defineCHECKBOXHEADERVIEW_H#include#include#includ
- JfreeChart做折线图
Loren_云淡风轻
java基础特定功能
packageorg.com.testJfreechart;importjava.awt.BasicStroke;importjava.awt.Color;importjava.awt.Font;importjava.awt.GradientPaint;importjava.io.File;importjava.io.IOException;importjava.util.HashMap;impo
- Enum 枚举
120153216
enum枚举
原文地址:http://www.cnblogs.com/Kavlez/p/4268601.html Enumeration
于Java 1.5增加的enum type...enum type是由一组固定的常量组成的类型,比如四个季节、扑克花色。在出现enum type之前,通常用一组int常量表示枚举类型。比如这样:
public static final int APPLE_FUJI = 0
- Java8简明教程
bijian1013
javajdk1.8
Java 8已于2014年3月18日正式发布了,新版本带来了诸多改进,包括Lambda表达式、Streams、日期时间API等等。本文就带你领略Java 8的全新特性。
一.允许在接口中有默认方法实现
Java 8 允许我们使用default关键字,为接口声明添
- Oracle表维护 快速备份删除数据
cuisuqiang
oracle索引快速备份删除
我知道oracle表分区,不过那是数据库设计阶段的事情,目前是远水解不了近渴。
当前的数据库表,要求保留一个月数据,且表存在大量录入更新,不存在程序删除。
为了解决频繁查询和更新的瓶颈,我在oracle内根据需要创建了索引。但是随着数据量的增加,一个半月数据就要超千万,此时就算有索引,对高并发的查询和更新来说,让然有所拖累。
为了解决这个问题,我一般一个月会进行一次数据库维护,主要工作就是备
- java多态内存分析
麦田的设计者
java内存分析多态原理接口和抽象类
“ 时针如果可以回头,熟悉那张脸,重温嬉戏这乐园,墙壁的松脱涂鸦已经褪色才明白存在的价值归于记忆。街角小店尚存在吗?这大时代会不会牵挂,过去现在花开怎么会等待。
但有种意外不管痛不痛都有伤害,光阴远远离开,那笑声徘徊与脑海。但这一秒可笑不再可爱,当天心
- Xshell实现Windows上传文件到Linux主机
被触发
windows
经常有这样的需求,我们在Windows下载的软件包,如何上传到远程Linux主机上?还有如何从Linux主机下载软件包到Windows下;之前我的做法现在看来好笨好繁琐,不过也达到了目的,笨人有本方法嘛;
我是怎么操作的:
1、打开一台本地Linux虚拟机,使用mount 挂载Windows的共享文件夹到Linux上,然后拷贝数据到Linux虚拟机里面;(经常第一步都不顺利,无法挂载Windo
- 类的加载ClassLoader
肆无忌惮_
ClassLoader
类加载器ClassLoader是用来将java的类加载到虚拟机中,类加载器负责读取class字节文件到内存中,并将它转为Class的对象(类对象),通过此实例的 newInstance()方法就可以创建出该类的一个对象。
其中重要的方法为findClass(String name)。
如何写一个自己的类加载器呢?
首先写一个便于测试的类Student
- html5写的玫瑰花
知了ing
html5
<html>
<head>
<title>I Love You!</title>
<meta charset="utf-8" />
</head>
<body>
<canvas id="c"></canvas>
- google的ConcurrentLinkedHashmap源代码解析
矮蛋蛋
LRU
原文地址:
http://janeky.iteye.com/blog/1534352
简述
ConcurrentLinkedHashMap 是google团队提供的一个容器。它有什么用呢?其实它本身是对
ConcurrentHashMap的封装,可以用来实现一个基于LRU策略的缓存。详细介绍可以参见
http://code.google.com/p/concurrentlinke
- webservice获取访问服务的ip地址
alleni123
webservice
1. 首先注入javax.xml.ws.WebServiceContext,
@Resource
private WebServiceContext context;
2. 在方法中获取交换请求的对象。
javax.xml.ws.handler.MessageContext mc=context.getMessageContext();
com.sun.net.http
- 菜鸟的java基础提升之道——————>是否值得拥有
百合不是茶
1,c++,java是面向对象编程的语言,将万事万物都看成是对象;java做一件事情关注的是人物,java是c++继承过来的,java没有直接更改地址的权限但是可以通过引用来传值操作地址,java也没有c++中繁琐的操作,java以其优越的可移植型,平台的安全型,高效性赢得了广泛的认同,全世界越来越多的人去学习java,我也是其中的一员
java组成:
- 通过修改Linux服务自动启动指定应用程序
bijian1013
linux
Linux中修改系统服务的命令是chkconfig (check config),命令的详细解释如下: chkconfig
功能说明:检查,设置系统的各种服务。
语 法:chkconfig [ -- add][ -- del][ -- list][系统服务] 或 chkconfig [ -- level <</SPAN>
- spring拦截器的一个简单实例
bijian1013
javaspring拦截器Interceptor
Purview接口
package aop;
public interface Purview {
void checkLogin();
}
Purview接口的实现类PurviesImpl.java
package aop;
public class PurviewImpl implements Purview {
public void check
- [Velocity二]自定义Velocity指令
bit1129
velocity
什么是Velocity指令
在Velocity中,#set,#if, #foreach, #elseif, #parse等,以#开头的称之为指令,Velocity内置的这些指令可以用来做赋值,条件判断,循环控制等脚本语言必备的逻辑控制等语句,Velocity的指令是可扩展的,即用户可以根据实际的需要自定义Velocity指令
自定义指令(Directive)的一般步骤
&nbs
- 【Hive十】Programming Hive学习笔记
bit1129
programming
第二章 Getting Started
1.Hive最大的局限性是什么?一是不支持行级别的增删改(insert, delete, update)二是查询性能非常差(基于Hadoop MapReduce),不适合延迟小的交互式任务三是不支持事务2. Hive MetaStore是干什么的?Hive persists table schemas and other system metadata.
- nginx有选择性进行限制
ronin47
nginx 动静 限制
http {
limit_conn_zone $binary_remote_addr zone=addr:10m;
limit_req_zone $binary_remote_addr zone=one:10m rate=5r/s;...
server {...
location ~.*\.(gif|png|css|js|icon)$ {
- java-4.-在二元树中找出和为某一值的所有路径 .
bylijinnan
java
/*
* 0.use a TwoWayLinkedList to store the path.when the node can't be path,you should/can delete it.
* 1.curSum==exceptedSum:if the lastNode is TreeNode,printPath();delete the node otherwise
- Netty学习笔记
bylijinnan
javanetty
本文是阅读以下两篇文章时:
http://seeallhearall.blogspot.com/2012/05/netty-tutorial-part-1-introduction-to.html
http://seeallhearall.blogspot.com/2012/06/netty-tutorial-part-15-on-channel.html
我的一些笔记
===
- js获取项目路径
cngolon
js
//js获取项目根路径,如: http://localhost:8083/uimcardprj
function getRootPath(){
//获取当前网址,如: http://localhost:8083/uimcardprj/share/meun.jsp
var curWwwPath=window.document.locati
- oracle 的性能优化
cuishikuan
oracleSQL Server
在网上搜索了一些Oracle性能优化的文章,为了更加深层次的巩固[边写边记],也为了可以随时查看,所以发表这篇文章。
1.ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前,那些可以过滤掉最大数量记录的条件必须写在WHERE子句的末尾。(这点本人曾经做过实例验证过,的确如此哦!
- Shell变量和数组使用详解
daizj
linuxshell变量数组
Shell 变量
定义变量时,变量名不加美元符号($,PHP语言中变量需要),如:
your_name="w3cschool.cc"
注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样。同时,变量名的命名须遵循如下规则:
首个字符必须为字母(a-z,A-Z)。
中间不能有空格,可以使用下划线(_)。
不能使用标点符号。
不能使用ba
- 编程中的一些概念,KISS、DRY、MVC、OOP、REST
dcj3sjt126com
REST
KISS、DRY、MVC、OOP、REST (1)KISS是指Keep It Simple,Stupid(摘自wikipedia),指设计时要坚持简约原则,避免不必要的复杂化。 (2)DRY是指Don't Repeat Yourself(摘自wikipedia),特指在程序设计以及计算中避免重复代码,因为这样会降低灵活性、简洁性,并且可能导致代码之间的矛盾。 (3)OOP 即Object-Orie
- [Android]设置Activity为全屏显示的两种方法
dcj3sjt126com
Activity
1. 方法1:AndroidManifest.xml 里,Activity的 android:theme 指定为" @android:style/Theme.NoTitleBar.Fullscreen" 示例: <application
- solrcloud 部署方式比较
eksliang
solrCloud
solrcloud 的部署其实有两种方式可选,那么我们在实践开发中应该怎样选择呢? 第一种:当启动solr服务器时,内嵌的启动一个Zookeeper服务器,然后将这些内嵌的Zookeeper服务器组成一个集群。 第二种:将Zookeeper服务器独立的配置一个集群,然后将solr交给Zookeeper进行管理
谈谈第一种:每启动一个solr服务器就内嵌的启动一个Zoo
- Java synchronized关键字详解
gqdy365
synchronized
转载自:http://www.cnblogs.com/mengdd/archive/2013/02/16/2913806.html
多线程的同步机制对资源进行加锁,使得在同一个时间,只有一个线程可以进行操作,同步用以解决多个线程同时访问时可能出现的问题。
同步机制可以使用synchronized关键字实现。
当synchronized关键字修饰一个方法的时候,该方法叫做同步方法。
当s
- js实现登录时记住用户名
hw1287789687
记住我记住密码cookie记住用户名记住账号
在页面中如何获取cookie值呢?
如果是JSP的话,可以通过servlet的对象request 获取cookie,可以
参考:http://hw1287789687.iteye.com/blog/2050040
如果要求登录页面是html呢?html页面中如何获取cookie呢?
直接上代码了
页面:loginInput.html
代码:
<!DOCTYPE html PUB
- 开发者必备的 Chrome 扩展
justjavac
chrome
Firebug:不用多介绍了吧https://chrome.google.com/webstore/detail/bmagokdooijbeehmkpknfglimnifench
ChromeSnifferPlus:Chrome 探测器,可以探测正在使用的开源软件或者 js 类库https://chrome.google.com/webstore/detail/chrome-sniffer-pl
- 算法机试题
李亚飞
java算法机试题
在面试机试时,遇到一个算法题,当时没能写出来,最后是同学帮忙解决的。
这道题大致意思是:输入一个数,比如4,。这时会输出:
&n
- 正确配置Linux系统ulimit值
字符串
ulimit
在Linux下面部 署应用的时候,有时候会遇上Socket/File: Can’t open so many files的问题;这个值也会影响服务器的最大并发数,其实Linux是有文件句柄限制的,而且Linux默认不是很高,一般都是1024,生产服务器用 其实很容易就达到这个数量。下面说的是,如何通过正解配置来改正这个系统默认值。因为这个问题是我配置Nginx+php5时遇到了,所以我将这篇归纳进
- hibernate调用返回游标的存储过程
Supanccy2013
javaDAOoracleHibernatejdbc
注:原创作品,转载请注明出处。
上篇博文介绍的是hibernate调用返回单值的存储过程,本片博文说的是hibernate调用返回游标的存储过程。
此此扁博文的存储过程的功能相当于是jdbc调用select 的作用。
1,创建oracle中的包,并在该包中创建的游标类型。
---创建oracle的程
- Spring 4.2新特性-更简单的Application Event
wiselyman
application
1.1 Application Event
Spring 4.1的写法请参考10点睛Spring4.1-Application Event
请对比10点睛Spring4.1-Application Event
使用一个@EventListener取代了实现ApplicationListener接口,使耦合度降低;
1.2 示例
包依赖
<p