手机客户端网站怎么做eclipse 开发jsp网站开发

web/2025/10/4 9:43:57/文章来源:
手机客户端网站怎么做,eclipse 开发jsp网站开发,网站建设合同范本下载,简述网站建设的标准跟着B站的视频敲了一个略微复杂的WPF界面,链接如下.在这里我详细的写一份博客进行设计总结. 系统介绍和配置及主窗口设计_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1Wy421Y7QD?p1vd_source4796b18a2e4c1ec8a310391a5644b6da 成果展示 实现过程 总体来说,我的…        跟着B站的视频敲了一个略微复杂的WPF界面,链接如下.在这里我详细的写一份博客进行设计总结. 系统介绍和配置及主窗口设计_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1Wy421Y7QD?p1vd_source4796b18a2e4c1ec8a310391a5644b6da 成果展示  实现过程 总体来说,我的理解都是设计框架,再具体的画里面的布局. 界面整体背景设计 我们不需要窗口自带的边框,所以需要隐藏,这里调用设计WindowChrome中的GlassFrameThickness 为0或者负数即可. WindowChrome.WindowChrome!--隐藏边框--WindowChrome GlassFrameThickness0/WindowChrome/WindowChrome.WindowChrome 界面整体颜色为渐变色,进行设计,渐变色使用画刷,这里介绍两种画刷,两种画刷的写法一致,只是颜色的方向有所差别,都是使用offset表示与开始点的距离 1.LinearGradientBrush,这种画刷是由左上角向右下. 2.RadialGradientBrush,这种画刷是有中心向外面渐变(此项目使用这种) !--设计背景颜色渐变--Grid.BackgroundRadialGradientBrushGradientStop Color#ff285173 Offset0/GradientStopGradientStop Color#ff244967 Offset0.5/GradientStopGradientStop Color#13164B Offset1/GradientStop/RadialGradientBrush/Grid.Background 运行结果: 首页设计 首页分为三行进行设计,标题为第一行,中间的内容为第二行,底部为第三行. 代码先分出三行:类似于代码中Height之类的属性,可以自己试着调,让界面看起来美观即可 !--主界面分三行--Grid.RowDefinitionsRowDefinition Height50/RowDefinitionRowDefinition Heightauto/RowDefinitionRowDefinition Height25/RowDefinition/Grid.RowDefinitions 第一行: 第一行下面的分割线颜色设计为#5518aabd,整体分为3列,第三列再分为两行进行设计. 第一列最左边为一个图标,直接将文件中的Image拖入即可 !--图标--Image Source/Res/Img/Logo.png Margin10,7 / 第二列放置一个垂直吧方向的堆面板,再用TextBlock放置文字 !--文字--StackPanel OrientationVertical Grid.Column1TextBlock Text生产监控平台 ForegroundWhite FontSize16 VerticalAlignmentCenter Margin0,5,0,0/TextBlockTextBlock Text阻碍你前行的,其实就是你自己! ForegroundWhite FontSize12 Margin0,3,0,0 /TextBlock/StackPanel 第三列整体分为两行,第一行使用对面板放置三个按钮,第二行画纹路.,下面代码中的最小化和关闭按钮我与视频中的处理方法不一样,我这里是直接设计了一个点击事件,在此界面对应的代码中直接对窗口进行控制. !--右侧按钮和下面的图案--Grid Grid.Column2!--分为两行--Grid.RowDefinitionsRowDefinition/RowDefinitionRowDefinition Height15/RowDefinition/Grid.RowDefinitions!--三个图标--!--WindowChrome.IsHitTestVisibleInChromeTrue 一定要加,否则自定义的不会显示--StackPanel OrientationHorizontal HorizontalAlignmentRight BackgroundTransparent WindowChrome.IsHitTestVisibleInChromeTrueButton Style{StaticResource MinClose_BtnStyle} Content#xe624; ClickButton_Click_Min/ButtonButton Style{StaticResource MinClose_BtnStyle} Content#xe600;/ButtonButton Style{StaticResource MinClose_BtnStyle} Content#xe609; BackgroundDarkRed ClickButton_Click_Close/Button/StackPanel!--图案--Border Grid.Row1 BorderBrush#5518aabd BorderThickness0,1,0,0 Border.BackgroundVisualBrush TileModeFlipXY Viewport0,0,7,7 ViewportUnitsAbsoluteVisualBrush.VisualLine X10 Y110 X210 Y20 StrokeGray StrokeThickness1/Line/VisualBrush.Visual/VisualBrush/Border.Background/Border/Grid 其中,设计三个图标时引入了一个自定义的资源字典,因为不止这里会用到,故定义的全局变量. !--关闭\最小化按钮字典--Style TargetTypeButton x:KeyMinClose_BtnStyleSetter PropertyWidth Value40/SetterSetter PropertyBackground Value#11ffffff/SetterSetter PropertyForeground ValueWhite/SetterSetter PropertyFontFamily Value../Res/Fonts/#iconfont/Setter!--模板--Setter PropertyTemplateSetter.ValueControlTemplate TargetTypeButton!--grid的背景就是按钮的背景--Grid Background{TemplateBinding Background}Border x:Nameborder!--用于显示控件的内容--ContentPresenter HorizontalAlignmentCenter VerticalAlignmentCenter/ContentPresenter/Border/Grid!--触发器--ControlTemplate.TriggersTrigger PropertyIsMouseOver ValueTrueSetter TargetNameborder PropertyBackground Value#33ffffff/Setter/Trigger/ControlTemplate.Triggers/ControlTemplate/Setter.Value/Setter/Style 这里字典中的FontFamily是再阿里巴巴资源图标库下载的后缀为.ttf的文件,content设置为里面的代码即可显示对应的图标  然后需要设计 WindowChrome.IsHitTestVisibleInChromeTrue 最后的图案是再boder中使用画笔画出 运行的结果 第三行 第三行是底部,比较简单和第一行类似,因此我们先进行设计. 底部分为两列,第一列绘制图案,第二列是相关文字 运行的结果 第二行 第二行内容很多,我们自定义一个用户控件放入. 首先要做的就是定义一个用户控件嵌入到主窗口之中,这里先新定义一个用户控件文件,再创建一个ViewModel层的文件,在里面将二者绑定起来 public event PropertyChangedEventHandler PropertyChanged;#region 中间那个 用户控件private UserControl _MonitorUC;public UserControl MonitorUC{get { if(_MonitorUC null){_MonitorUC new MonitorUC(); }return _MonitorUC;}set {_MonitorUC value;if (PropertyChanged ! null){PropertyChanged(this, new PropertyChangedEventArgs(MonitorUC));}}} 然后在主界面的 代码下实例化viewModel,设置数据上下文 //实例化MainWindowVM mainWindowVM new MainWindowVM();public MainWindow(){InitializeComponent();//设置数据上下文this.DataContext mainWindowVM;} 最后主界面一定要嵌入此用户控件,嵌入使用ContentControl ContentControl Grid.Row1 Content{Binding MonitorUC}/ContentControl 运行结果: 接着对第二行内部(自定义用户控件)进行设计,分为三行: 第二行内部的第一行分为两列,左边的日期为一列,右边剩下的为一列 左边第一列日期用一个水平方向的对面板里面放置一个TextBlock和一个垂直方向的堆面板,时间和日期视频里面是静态的,我这里进行动态获取,可参考这篇专栏里面的另一篇实时时间显示. 右边分为左右两部分,用靠左和靠右实现即可,左边使用水平方向的堆面板进行排列,文字换行使用WPF里面的换行符,中间有背景的字是再border里面嵌套了一个TextBlock,之后使用ItemsControl控件循环获取显示数据. !--资源--StackPanel.Resources!--动态数据模板--DataTemplate x:KeymachineCount!--将当前数据项通常是一个对象的默认属性值绑定到 TextBlock 的 Text 属性上--Border Width15 Background#3318aabd Margin2,0TextBlock Text{Binding} VerticalAlignmentCenter HorizontalAlignmentCenter ForegroundWhite FontSize16/TextBlock/Border/DataTemplate/StackPanel.Resources 右边的按钮也是进行了一个资源编写.这里需要注意的是属性绑定,定义的目标对象是按钮,我们要放文字和一个图标进去,文字可以直接绑定按钮的Content属性,这里的图标绑定的是按钮的Tag属性,Tag在原按钮中什么也不代表,类似于官方预留的留给我们自定义的接口. Style TargetTypeButton x:KeySetting_BtnStyleSetter PropertyForeground Value#aaa/Setter!--模板设置触发器\渐变色--Setter PropertyTemplateSetter.ValueControlTemplate TargetTypeButtonBorder BackgroundTransparent BorderThickness1 x:Nameborder!--渐变色--Border.BorderBrushLinearGradientBrush StartPoint0,0 EndPoint1,0GradientStop Color#22ffffff Offset0/GradientStopGradientStop Color#77ffffff Offset0.5/GradientStopGradientStop Color#22ffffff Offset1/GradientStop/LinearGradientBrush/Border.BorderBrush!--里面放置一个图标 一个文字 Tag类似自定义属性 Content就是对应按钮的Content--StackPanel OrientationHorizontal HorizontalAlignmentCenter VerticalAlignmentCenterTextBlock Text{TemplateBinding Tag} FontFamily../Res/Fonts/#iconfont Margin0,2,5,0/TextBlockTextBlock Text{TemplateBinding Content} VerticalAlignmentCenter/TextBlock/StackPanel/Border!--触发器 放入按钮变颜色--ControlTemplate.TriggersTrigger PropertyIsMouseOver ValueTrueSetter TargetNameborder PropertyBackground Value#11ffffff/Setter/Trigger/ControlTemplate.Triggers/ControlTemplate/Setter.Value/Setter/Style 运行结果: 第二行的中间部分也是分为3列,三列里面每一列再分为三行,当然也已使用UniformGrid,因为每部分的大小一致 这里我们注意到GroupBox 几乎在每个部分都出现了,所以我们可以先把他画出来. 这里我们使用了Polyline画线,Ellipse画圆(点就是半径很小的圆),Path画路径,Polygon 画多边形. ContentPresenter/ContentPresenter 一定要加这句,才能显示重新定义的标题 UserControl.ResourcesStyle TargetTypeGroupBoxSetter PropertyMargin Value10,3/SetterSetter PropertyTemplateSetter.ValueControlTemplate TargetTypeGroupBoxGrid!--左上角的线条--Polyline Points0 30,0 10,10 0,30 0 Stroke#9918aabd StrokeThickness1 VerticalAlignmentTop HorizontalAlignmentLeft/Polyline!--左上 横的点 小圆--Ellipse Width4 Height4 HorizontalAlignmentLeft Fill#9918aabd VerticalAlignmentTop Margin24,-2,0,0/Ellipse!--左侧的点 小圆--Ellipse Width4 Height4 HorizontalAlignmentLeft Fill#9918aabd VerticalAlignmentTop Margin-2,24,0,0/Ellipse!--Moveto--Path DataM0 0,3 3,30 3,33 0,68 0,73 7,78 7,78,10M8 0,25 0 Stroke#9918aabd VerticalAlignmentTop HorizontalAlignmentRight/Path!--左下角的线条--Polyline Points0 0,0 15,10 15 Stroke#9918aabd StrokeThickness1 VerticalAlignmentBottom HorizontalAlignmentLeft/Polyline!--右下角的线--Polyline Points10 0,0,10 Stroke#9918aabd StrokeThickness1 HorizontalAlignmentRight VerticalAlignmentBottom/Polyline!--右下角的三角形--Polygon Points0 7,7 7,7 0 Fill#9918aabd HorizontalAlignmentRight VerticalAlignmentBottom/Polygon!--上面的线--Border BorderThickness0,1,0,0 BorderBrush#9918aabd VerticalAlignmenttop Margin30,-0.5,78,0/Border!--右边的线--Border BorderThickness0,0,1,0 BorderBrush#9918aabd HorizontalAlignmentRight Margin0,10/Border!--下面的线--Border BorderThickness0,0,0,1 BorderBrush#9918aabd VerticalAlignmentBottom Margin10,0/Border!--左边的线--Border BorderThickness1,0,0,0 BorderBrush#9918aabd HorizontalAlignmentLeft Margin-0.5,15/Border!--文字前的装饰--Path DataM0 0,3 0,5 4,3 8,0 8,3 4 Fill#9918aabd Margin10,13/PathPath DataM0 0,3 0,5 4,3 8,0 8,3 4 Fill#5518aabd Margin16,13/PathTextBlock Text{TemplateBinding Header} ForegroundWhite FontWeightBold Margin25,8 HorizontalAlignmentLeft VerticalAlignmentTop/TextBlock!--显示内容--ContentPresenter/ContentPresenter/Grid/ControlTemplate/Setter.Value/Setter/Style/UserControl.Resources 运行结果: 然后进行里面具体内容的绘制,这一部分要创建一个Nodels层来管理数据,里面绘制的柱状图等需要使用到LiveCharts的插件. 柱状图 !--定义X数据--lvc:CartesianChart Margin20,35,20,5lvc:CartesianChart.AxisXlvc:Axis Labels8:00,9:00,10:00,11:00,12:00,13:00,14:00,15:00,16:00lvc:Axis.Separatorlvc:Separator Step1 StrokeThickness0/lvc:Separator/lvc:Axis.Separator/lvc:Axis/lvc:CartesianChart.AxisX!--定义Y的数据--lvc:CartesianChart.Serieslvc:ColumnSeries Values300,400,480,450,380,450,450,330,340 Title生产计数 MaxColumnWidth10!--渐变色--lvc:ColumnSeries.FillLinearGradientBrush StartPoint0,0 EndPoint0,1GradientStop Color#ff3fbbe6 Offset0/GradientStopGradientStop Color#ff2bedf1 Offset1/GradientStop/LinearGradientBrush/lvc:ColumnSeries.Fill/lvc:ColumnSerieslvc:ColumnSeries Values15,55,15,40,38,45,56,42,24 Title不良计数 MaxColumnWidth10!--渐变色--lvc:ColumnSeries.FillLinearGradientBrush StartPoint0,0 EndPoint0,1GradientStop Color#fffb9a9a Offset0/GradientStopGradientStop Color#ffff5151 Offset1/GradientStop/LinearGradientBrush/lvc:ColumnSeries.Fill/lvc:ColumnSeries/lvc:CartesianChart.Series!--Y数据刻度--lvc:CartesianChart.AxisYlvc:Axis MinValue0 MaxValue500 lvc:Axis.Separatorlvc:Separator Step100 Stroke#11ffffff/lvc:Separator/lvc:Axis.Separator/lvc:Axis/lvc:CartesianChart.AxisY/lvc:CartesianChart 饼形图 !--饼形图--!--定义数据标签样式--lvc:PieChart InnerRadius45 Margin0,40,0,20lvc:PieChart.ResourcesStyle TargetTypelvc:PieSeriesSetter PropertyDataLabelsTemplateSetter.ValueDataTemplateStackPanel OrientationHorizontalTextBlock Text{Binding Point.SeriesView.Title} Margin0,0,5,0 Foreground#44ffffff/TextBlockTextBlock Text{Binding Point.SeriesView.Values[0]} Foreground#44ffffff/TextBlock/StackPanel/DataTemplate/Setter.Value/Setter/Style/lvc:PieChart.Resources!--定义饼形图数据--lvc:PieChart.Serieslvc:PieSeries Values20 Title压差 StrokeThickness0 DataLabelsTrue LabelPositionOutsideSlice/lvc:PieSerieslvc:PieSeries Values40 Title振动 StrokeThickness0 DataLabelsTrue LabelPositionOutsideSlice/lvc:PieSerieslvc:PieSeries Values10 Title设备温度 StrokeThickness0 DataLabelsTrue LabelPositionOutsideSlice/lvc:PieSerieslvc:PieSeries Values30 Title光照 StrokeThickness0 DataLabelsTrue LabelPositionOutsideSlice/lvc:PieSeries/lvc:PieChart.Series/lvc:PieChart 雷达:在界面中定义名字,在后台进行绘制 !--画布--Canvas x:NamemainCanvas/Canvas!--4规则多边形--Polygon x:NameP1 Stroke#22ffffff StrokeThickness1/PolygonPolygon x:NameP2 Stroke#22ffffff StrokeThickness1/PolygonPolygon x:NameP3 Stroke#22ffffff StrokeThickness1/PolygonPolygon x:NameP4 Stroke#22ffffff StrokeThickness1/Polygon!--数据多边形--Polygon x:NameP5 StrokeOrange Fill#550091F0 StrokeThickness1 /Polygon /// summary/// RaderUC.xaml 的交互逻辑/// /summarypublic partial class RaderUC : UserControl{public RaderUC(){InitializeComponent();SizeChanged OnSizeChanged;//AltEnter}/// summary/// 窗体大小发生变化 重新画图/// /summary/// param namesender/param/// param namee/paramprivate void OnSizeChanged(object sender, SizeChangedEventArgs e){Drag();}/// summary/// 数据源。支持数据绑定 依赖属性/// /summarypublic ListRaderModel ItemSource{get { return (ListRaderModel)GetValue(ItemSourceProperty); }set { SetValue(ItemSourceProperty, value); }}// Using a DependencyProperty as the backing store for MyProperty. This enables animation, styling, binding, etc...public static readonly DependencyProperty ItemSourceProperty DependencyProperty.Register(ItemSource, typeof(ListRaderModel), typeof(RaderUC));/// summary/// 画图方法/// /summarypublic void Drag(){//判断是否有数据if (ItemSource null || ItemSource.Count 0){return;}//清楚之前画的mainCanvas.Children.Clear();P1.Points.Clear();P2.Points.Clear();P3.Points.Clear();P4.Points.Clear();P5.Points.Clear();//调整大小(正方形)double size Math.Min(RenderSize.Width, RenderSize.Height);LayGrid.Height size;LayGrid.Width size;//半径double raduis size / 2;//步子跨度double step 360.0 / ItemSource.Count;for (int i 0; i ItemSource.Count; i){double x (raduis - 20) * Math.Cos((step * i - 90) * Math.PI / 180);//x偏移量double y (raduis - 20) * Math.Sin((step * i - 90) * Math.PI / 180);//y偏移量//X Y坐标P1.Points.Add(new Point(raduis x, raduis y));P2.Points.Add(new Point(raduis x * 0.75, raduis y * 0.75));P3.Points.Add(new Point(raduis x * 0.5, raduis y * 0.5));P4.Points.Add(new Point(raduis x * 0.25, raduis y * 0.25));//数据多边形P5.Points.Add(new Point(raduis x * ItemSource[i].Value * 0.01, raduis y * ItemSource[i].Value * 0.01));//文字处理TextBlock txt new TextBlock();txt.Width 60;txt.FontSize 10;txt.TextAlignment TextAlignment.Center;txt.Text ItemSource[i].ItemName;txt.Foreground new SolidColorBrush(Color.FromArgb(100, 255, 255, 255));txt.SetValue(Canvas.LeftProperty, raduis (raduis - 10) * Math.Cos((step * i - 90) * Math.PI / 180) - 30);//设置左边间距txt.SetValue(Canvas.TopProperty, raduis (raduis - 10) * Math.Sin((step * i - 90) * Math.PI / 180) - 7);//设置上边间距mainCanvas.Children.Add(txt);}}} 运行结果: 最后一个部分 整体分为两行两列设计,获取数据方法和上面类似;样式这些可以自己慢慢条.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/86714.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站建设费用计入管理费用的哪个科目宁波制作网站企业

2019独角兽企业重金招聘Python工程师标准>>> 1、导出整个数据库 mysqldump -u 用户名 -p 数据库名 > 存放位置比如: mysqldump -u root -p project > c:/a.sql 2.导出一个表的结构,并且带表中的数据 mysqldump -u 用户名 -p 数据库名 …

asp网站发布ftp长春市做网站哪家好

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒…

php网站模板怎么用网页制作论坛

一、问题描述 该问题的具体表现就如上图一样,模块——”spring-ioc-xml-01“的应该有一个蓝色的方块。现在蓝色方块缺失了之后,我们需要让maven工程重新识别出这个模块。 二、问题分析 出现这种问题的原因:是当前的maven工程没有能够成功的识…

汕头网站建设方法港北网站建设

作者简介:大家好,我是smart哥,前中兴通讯、美团架构师,现某互联网公司CTO 联系qq:184480602,加我进群,大家一起学习,一起进步,一起对抗互联网寒冬 多线程向来是面试的重灾…

简述电子商务的概念优化设计方案

技术背景 一般情况下我们会选择使用明文形式来存储数据,如json、txt、csv等等。如果是需要压缩率较高的存储格式,还可以选择使用hdf5或者npz等格式。还有一种比较紧凑的数据存储格式,就是直接按照二进制格式存储。这种格式下,存储…

网站关键词如何快速上首页wordpress远程下载

目录 vue2的设置方法 vue3的设置方法 1.vue3兼容vue2的写法 2.vue3没有使用setup语法糖 3.vue3的setup会自动生成name 4.使用插件 设置name的用处&#xff1a;页面缓存需要识别页面的唯一name属性才可以缓存 vue2的设置方法 <script>export default {name: "…

网站开发问题网店运营推广网站

1.首先需要使用 composer 在命令行安装最新版本的 intervention/image &#xff1a; composer require intervention/image2.注册服务提供者及别名&#xff08;Laravel 版本 ≤ 5.4&#xff09; 如果你的 laravel 版本小于或等于 5.4&#xff0c;安装后需要注册服务提供者和别…

河北网络推广公司哈尔滨网络建设网络优化

除了前一节讨论的拉电阻基本使用方法外&#xff0c;上拉电阻也可以提升高电平的电压阈值&#xff0c;以便于前后级信号相匹配&#xff0c;比如&#xff0c;TTL逻辑电平驱动CMOS逻辑电平时&#xff0c;我们通常会添加一个上拉电阻R1&#xff0c;如下图所示&#xff1a;But Why&a…

旅游网站结构图建设一个货架网站

https://mastergo.com/files/home 这个网站是一个设计图片的网站 ui设计方面的网站 有很多优秀的资源 比如App设计 可以直接用的图片 和设计模板 也可以像ps 一样 设计自己的图片或者ui图 适合前端和ui开发者使用 可以丰富自己的审美观

怎么做装修网站平台代理公司注册要提供什么资料

在此博客中&#xff0c;我将解释如何为您的Mule CloudHub应用程序启用AWS Cloudwatch日志 。 AWS提供了Cloudwatch Logs Services&#xff0c;以便您可以更好地管理日志。 它比松散便宜。 由于cloudhub会自动翻转超过100 MB的日志&#xff0c;因此我们需要一种机制来更有效地管…

多语言网站 推广网站建设语音

配置路由式Proxy ARP示例 组网图形 图1 配置路由式Proxy ARP组网图 路由式Proxy ARP简介配置注意事项组网需求配置思路操作步骤配置文件 路由式Proxy ARP简介 企业内部进行子网划分时&#xff0c;可能会出现两个子网网络属于同一网段&#xff0c;但是却不属于同一物理网络的情…

网站建设管理属于职业资格吗wordpress模板dux

大家好&#xff01;作为专业吃鸡行家&#xff0c;我将为您带来一些热门话题和实用内容&#xff0c;帮助您提升游戏战斗力&#xff0c;分享顶级游戏作战干货&#xff0c;并提供便捷的作图工具和查询服务。让我们一起享受吃鸡的乐趣&#xff01; 首先&#xff0c;我要推荐一款绝地…

快钱支付需要网站备案吗小程序制作方案

羊大师分析&#xff0c;夏季羊奶的适合人群有哪些&#xff1f; 夏季羊奶的适合人群相当广泛&#xff0c;主要包括以下几类人群&#xff1a; 生长发育中的孩子&#xff1a;羊奶富含营养&#xff0c;特别是蛋白质和矿物质&#xff0c;对孩子的生长发育有积极的促进作用。 中老年…

扁平化 公司网站南通公司快速建站

今天测试部门的人叫我过去&#xff0c;说是数据库当了&#xff0c;起不来了。我过去看了看情况&#xff0c;做了如下操作SQL> shutdown immediate数据库已经关闭。已经卸载数据库。Oracle 例程已经关闭。SQL> startupORACLE 例程已经启动。Total System Global Area 135…

榆次住房保障和城乡建设局网站免费简单网站

软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性&#xff1a;封装、继承、多态&#xff0c;真正领悟设计模式的精髓是可能一个漫长的过程&#xff0c;需要大量实践经验的积累。最近看设计模式的书&#xff0…

全屋定制十大品牌排行榜济南网站seo报价

介绍Gogs项目旨在构建一种简单&#xff0c;稳定和可扩展的自托管Git服务&#xff0c;该服务可以通过最轻松的方式进行设置。使用Go语言开发的git自托管服务&#xff0c;部署十分简单&#xff0c;可以在Go支持的所有平台(包括Linux&#xff0c;macOS&#xff0c;Windows和ARM)上…

自微网站如何做好品牌宣传

在数字化时代的到来之后&#xff0c;虚拟货币逐渐成为了一种广为人知的金融工具。虚拟货币是一种数字化的资产&#xff0c;它不像传统货币那样由政府或中央银行发行和监管。相反&#xff0c;虚拟货币通过密码学技术和分布式账本技术来实现去中心化的发行和交易。 虚拟货币的代…

博客wordpress企业网站搭建及优化

fork/join和线程池问题&#xff1a; 启用了Spring且其范围设置为Request的缓存需要由不在请求范围内的singleton bean访问。 解&#xff1a; Spring使您能够创建缓存&#xff0c;该缓存为请求范围保留数据。 例如 import org.springframework.cache.concurrent.ConcurrentMapC…

宁波网站制作定制互联网广告营销是什么

阅读目录 1.理解VUE中的自定义指令回到顶部1.理解VUE中的自定义指令 默认核心指令有 (v-model 和 v-show), 但是有时候我们需要用到自定义指令&#xff0c;在vue中&#xff0c;代码复用主要形式和抽象是组件&#xff0c;但是在有的情况下&#xff0c;我们仍然需要对DOM元素进行…