E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
设计模式系列
设计模式系列
·王小二需求历险记(二)
0x1原文再续,书接上回传送门:王小二需求历险记(一)上回说到,C哥凭借自己多年的编码经验,欲传授王小二绝世武功。让我们书接上回。0x2来源于生活中的实例看着王小二求知若渴的眼神,C哥开始对小二循循善诱。“小二啊,我们假设一个场景:假设你是一名讲师,对于上完你课程的人,你要确保接下来,每个人都知道他们下一节课去哪上。你如何去做呢?”“嗯...我会在教室门口贴一张课表。课表上标明所有的课程以及课程对
zilu
·
2017-03-22 00:00
oop
面向对象设计模式
设计模式
design-pattern
设计模式系列
·王小二需求历险记(一)
0x1不断变化的需求“需求总是在变化的”,在无数次与产品经理的”需求大战“中,小二对这句话深有体会。这不,前些天,小二就经历了一件欲哭无泪的事情...0x2产品经理的需求产品经理走到小二面前:“小二,我们需要给年会员发送短信,你多长时间能搞定?”小二沉思了一会,拍拍胸脯:“没问题,不就是发送短信嘛。一周内搞定”。0x3面向过程的开发拿到需求后,小二就快速的对需求拆分了步骤:在数据库中获取所有的会员
zilu
·
2017-03-16 00:00
面向对象设计模式
oop
设计模式
design-pattern
第一篇:写在开头的经验总结
写在
设计模式系列
文章开头:最近听到有不少同事在讨论设计模式这个话题,无外乎是围绕几个方面,到底什么是设计模式?何时该用设计模式?设计模式有什么用?
打着吊瓶写代码
·
2017-03-02 11:05
设计模式专题
设计模式系列
:OOP设计6大原则
今日科技快讯近日,百度宣布旗下控股子公司爱奇艺已完成一笔15.3亿美元的可转债认购,其中百度认购3亿美元。根据资料显示:截至2016年12月爱奇艺移动视频月活设备达到4.81亿台,月使用时长达55.79亿小时,相比2016年1月分别增长20.08%和27.18%。在保持行业第一的前提下,爱奇艺全年增长也超过行业平均水平。作者简介本篇来自MichaelX的投稿,分享了面向对象程序设计的6个原则,希望
c10wtiybq1ye3
·
2017-02-22 08:43
设计模式系列
之三:建造者模式
建造者,顾名思义,就是要从设计师的角度去建造一个产品,就像你造一个汽车,一部手机,这时候我们首先就需要众多零件,这些零件就是你所需要的类,同时还要合理的把这些零件组装带一起产生一个你需要的产品。建造者模式的本质是分离了对象自组建的单独构造(由Builder来负责)和装配(由Director来负责),从而可以构造出复杂的对象。由于实现了构造和装配的解耦,不同的构造器,相同的装配过程也会产生不同的结果
Eric_在路上
·
2017-02-20 16:39
java
设计模式系列
之一:单例模式
要成为一个合格的程序猿,程序设计的思维那是必不可少的。今天来介绍一下java设计模式中最简单,也是最常用的设计模式,单例模式。在java中,每个自定义类都可以有无数个对象,而采用单例能极大的利用现有资源从而减少系统资源的浪费。单例模式的应用场景非常广泛,如:数据库连接池的设计就是采用单例,servlet编程中每个servlet也是单例,Application也是单例的典型应用,在Spring中每个
Eric_在路上
·
2017-02-18 10:34
java
Java程序
设计模式系列
之适配器模式
理解适配器设计模式需要从生活中的场景进行联系,在生活当中有那些东西能够称为适配器呢?从字面上理解,“适配”的意思就是让一个东西和另一个东西配对,能够让他们一起工作,比如大家用的笔记本电脑就需要用到电源适配器,转换插口和电流到笔记本上给笔记本电脑进行供电。再比如在国内所有的电器插座都是两口或三口的国内标准插座,但如果到中国大陆以外的地区旅行,想要使用电源给电子产品供电,就需要转换插口了。比如王老师到
weixin_34144848
·
2017-02-13 16:57
java
设计模式
设计模式开篇
目录为什么要写
设计模式系列
学设计模式之前,必学UML设计模式概览创建型模式(CreationalPattern)结构型模式(StructuralPattern)行为型模式(BehavioralPattern
幺鹿
·
2017-02-13 14:17
状态模式(分离状态,选择实现)
公告如果您是第一次阅读我的
设计模式系列
文章,建议先阅读设计模式开篇,希望能得到您宝贵的建议。前言随着上文装饰器模式提到店铺老板Bob改良了机器人的选型过程,价格又比你的店铺实惠销量得到了显著增长。
幺鹿
·
2017-02-08 17:40
抽象工厂模式(Abstract Factory)- 最易懂的设计模式解析
前言在上文提到的最易懂的
设计模式系列
解析:工厂方法模式,发现工厂方法模式存在一个严重的问题:一个具体工厂只能创建一类产品而在实际过程中,一个工厂往往需要生产多类产品。
Carson_Ho
·
2017-02-07 15:19
设计模式(最易懂系列)
设计模式
装饰者模式(动态组合)
公告如果您是第一次阅读我的
设计模式系列
文章,建议先阅读设计模式开篇,希望能得到您宝贵的建议。定义装饰者模式:即动态的给一个对象添加一些额外的职责。
幺鹿
·
2017-02-05 16:53
设计模式系列
:OOP设计6大原则
前言相信有过开发经验的人都有过这种体验:让你接手一个的项目,2种情况。A.这个项目已经被好几个人,甚至好几代程序员开发维护过;B.这个项目等待你的全新开发。不给你设时间期限,你更愿意选择哪一个?我相信99.9%的人都会选择B这种开发模式。有木有??Why?因为不想改一个bug引起n个bug。说到底,就是因为已有的项目架构没有做好,或者没有适时的做架构调整,假如你接手的是旧代码,可能为了添加一个功能
xiong_it
·
2017-01-12 00:00
Design
Patterns
Design
Patterns
in
Android
设计模式系列
12--职责链模式
image项目做完了,作为老大的你决定叫上项目组的人一起聚个餐犒劳下大家,于是你去财务申请聚餐费用,财务告诉你聚餐费用申请的流程如下:小于500元,项目经理可以审批大于500小于1000,需要部门经理审批大于1000的都需要总经理审批如果让你来实现这个流程,该如何做呢?常规做法很简单,如下所示:#import"feeRequest.h"@implementationfeeRequest-(void
西木柚子
·
2016-12-22 08:17
设计模式系列
11--桥接模式
image假设要实现一个给客户发送提示消息的功能,发送的消息类型可分为:普通消息、加急消息、特加急消息等等,而每种消息的发送的方式一般有:系统内推送、手机短信、电子邮件等等。如果让我们来实现,会怎么做呢?我们先来实现一个简单的版本,使用系统推送和电子邮件发送普通消息,实现起来不叫简单,就不展示代码了,直接看UML结构图image很简单的实现对吧,现在再增加一个加急消息的发送,也是通过系统推送和Em
西木柚子
·
2016-12-19 08:19
设计模式系列
10--装饰者模式
image大部分公司都有销售团队,假设老板给你布置了一个任务,让你按照下面的要求开发一套程序来计算销售团队每个月的工资。每个人当月业务奖金=当月销售额*3%每个人的累积奖金=总的回款额*0.1%销售经理的团队奖金=团队总销售额*1%每个人的工资就是基本工资加上奖金,那么按照常规模式我们来看下如何让实现。#import"calculateBonus.h"@implementationcalculat
西木柚子
·
2016-12-14 13:05
设计模式系列
8--策略模式
场景分析我们在网上购买商品的时候,经常遇到各种打折优惠活动,不同的节假日或者时间优惠策略都不相同,如果让我们去实现,那么如何做呢?常规做法是根据不同的优惠政策,使用if进行判断,写很多判断分支进行处理。类似下面这种。if(正常价格){//具体优惠策略处理}elseif(七折优惠){//具体优惠策略处理}elseif(国庆节优惠){//具体优惠策略处理}elseif(优惠策略4条件){//具体优惠策
西木柚子
·
2016-12-07 15:15
设计模式系列
6--命令模式
生活场景分析今天来学习命令模式,先从一个生活中的例子入手吧,这样理解起来也比较容易。大家应该有用过那种万能遥控器吧,就是那种能遥控各种品牌的空调或者电视的遥控器,我们只要在遥控器上设定具体的电器品牌,就可以遥控了,可以切换到任何支持的品牌的电器。我们今天也来做一个万能遥控器,如下图所示:image请忽略这清奇的画风,我们来看看具体的要求:每排两个按钮,分别实现打开和关闭电器的作用,除了如图所示前三
西木柚子
·
2016-12-04 14:03
设计模式系列
3--中介者模式
image我们使用的电脑,你完成的任何一个功能都需要cpu、内存、显卡、键盘、显示器等这些零件相互调用才能完成功能,如果让这些零件之间直接互相调用,那么他们之间的关系可能如下图所示,非常凌乱复杂:image但是电脑开发商并没有让这些零件之间相互直接调用,而是通过主板来统一协调,这样每个零件只需要按照主板要求的接口去完成功能即可,然后把处理完成的数据传递给主板就可以了,不需要了解其他零件,此时结构如
西木柚子
·
2016-11-27 21:48
设计模式--------工厂模式
设计模式设计模式--------工厂模式设计模式--------设计原则前言两个月前写过一次
设计模式系列
,但很不满意就删除了。
王延领
·
2016-11-20 22:00
【
设计模式系列
】--观察者模式
在前面的博文中,小编介绍设计模式中的撩妹模式,不知道小伙伴们有没有从中get到技巧呢?今天这篇博文,咱们继续来学习设计模式的相关知识,今天小编向大家介绍的模式是观察者模式,还请小伙伴多多指教,小编会从什么是原型观察者模式、观察者模式的结构图、观察者模式的demo以及观察者模式的特点和应用场景等方面一一进行介绍,希望对有需要的小伙伴有帮助。什么是观察者模式?观察者模式(有时又被称为发布(publis
丁国华
·
2016-11-18 08:20
●
java之恋
●
基础知识
设计模式系列
1--开篇漫谈
大概花了一个半月的时间把市面上比较知名的设计模式类的书全部买回来学习了一遍,这些书里面有好有坏。如果想系统的学习设计模式,我建议还是买书看,因为书上的知识比较系统和权威,不像网上的文章良莠不齐,虽然有很多有些的博客的文章不错,但是刚开始自学也没有能力去分辨。这篇文章应该算是学习设计模式的预热,让你对设计模式有一个大概的了解。后续我会把大部分设计模式单独成文,这些文章的代码和文字是我糅合这些书籍加上
西木柚子
·
2016-11-16 21:06
【
设计模式系列
】--单例模式
在前面的博文中,小编介绍了设计模式中的原型模式,不知道有没有帮助到有需要的小伙伴呢`(*∩_∩*)′,今天这篇博文,小编继续来介绍相关的设计模式,今天要和大家见面的是单例模式,不由得又让小编想起DarryRing,或许只能想想而已`(*∩_∩*)′,开篇闲扯到这里,接着步入正题,今天这篇博文,小编会从什么是单例模式,为什么要使用单例模式,饿汉式,懒汉式、双重检查以及配之以相关的Demo进行讲解,希
u010850027
·
2016-10-31 20:00
Android
设计模式系列
之工厂方法模式
工厂方法模式,往往是设计模式初学者入门的模式,的确,有人称之为最为典型最具启发效果的模式。android中用到了太多的工厂类,其中有用工厂方法模式的,当然也有很多工厂并不是使用工厂方法模式的,只是工具管理类。今天以ThreadFactory举例说明一下简单工厂模式和工厂方法模式。工厂方法模式,FactoryMethod,简单的方式,不简单的应用。1.意图定义一个用于创建对象的接口,让子类决定实例化
chaoyu168
·
2016-09-20 11:33
Android
设计模式系列
之单例模式
单例模式,可以说是GOF的23种设计模式中最简单的一个。这个模式相对于其他几个模式比较独立,它只负责控制自己的实例化数量单一(而不是考虑为用户产生什么样的实例),很有意思,是一个感觉上很干净的模式,本人很喜欢这个模式。android中很多地方都用到了单例模式,本文以输入法管理者InputMethodManager为例,展开分析。单例模式,SingletonPattern,能够以其特有的优势,替代系
chaoyu168
·
2016-09-20 10:13
Android
设计模式系列
之组合模式
Android中对组合模式的应用,可谓是泛滥成粥,随处可见,那就是View和ViewGroup类的使用。在androidUI设计,几乎所有的widget和布局类都依靠这两个类。组合模式,CompositePattern,是一个非常巧妙的模式。几乎所有的面向对象系统都应用到了组合模式。1.意图将对象View和ViewGroup组合成树形结构以表示"部分-整体"的层次结构(View可以做为ViewGr
chaoyu168
·
2016-09-20 10:04
iOS设计模式(5)策略模式
设计模式系列
文章《iOS设计模式(1)简单工厂模式》《iOS设计模式(2)工厂模式》《iOS设计模式(3)适配器模式》《iOS设计模式(4)抽象工厂模式》《iOS设计模式(6)模板模式》《iOS设计模式
leehoo
·
2016-09-09 13:54
JAVA中的基础---设计模式之单例模式
转载自:http://blog.csdn.net/jason0539本文继续介绍23种
设计模式系列
之单例模式。
Emira_J
·
2016-09-06 10:24
java
设计模式
java
工厂方法模式(Factory Method)-最易懂的设计模式解析
前言在上文提到的最易懂的
设计模式系列
解析:简单工厂模式,发现简单工厂模式存在一系列问题:工厂类集中了所有实例(产品)的创建逻辑,一旦这个工厂不能正常工作,整个系统都会受到影响;违背“开放-关闭原则”,一旦添加新产品就不得不修改工厂类的逻辑
Carson_Ho
·
2016-08-28 08:39
最易懂的设计模式系列
设计模式
iOS
设计模式系列
一:策略模式
什么是策略模式策略模式定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。——《HeadFirst设计模式》这里引用了《HeadFirst设计模式》里的定义。其中算法族是指一系列算法,可以把算法理解为对象的行为(方法)。这里用到了一个设计原则:找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起。这是一个让我耳目一新的思想,我的固有
e227f7966522
·
2016-08-22 11:20
抽象工厂模式(Abstract Factory)- 最易懂的设计模式解析
前言在上文提到的最易懂的
设计模式系列
解析:工厂方法模式,发现工厂方法模式存在一个严重的问题:一个具体工厂只能创建一类产品而在实际过程中,一个工厂往往需要生产多类产品。
Carson_Ho
·
2016-08-16 21:36
JavaScript设计模式(一)单例模式、组合模式和外观模式
作者JosephZimmermanhttp://www.joezimjs.com创建日期19March2012本文是介绍JavaScript采用的常见
设计模式系列
文章的首篇文章。
buptlyz
·
2016-07-25 00:09
前端
javascript
设计模式
JAVA设计模式之单例模式
本文继续介绍23种
设计模式系列
之单例模式。概念:java中单例模式是一种常见的设计模式,单例模式的写法有好几种,这里主要介绍三种:懒汉式单例、饿汉式单例、登记式单例。
Scythe666
·
2016-07-08 15:00
设计模式系列
—适配器模式和外观模式
《HeadFirst设计模式》读书笔记适配器模式和外观者模式一,写在最前面1,为什么要将这两个设计模式写在一起?不仅这两个设计模式都比较简单,而且我们可以通过这两个设计模式更好的理解OO思想。2,在本章节的最后会引入了最少知识设计原则。二,适配器模式1,生活中的适配器如果你自己接过水管或者自己接过洗衣机的水管头,你肯定有过类似的体验,无论你怎么接,它都会漏水,然后去店里一问,就知道有水管转换接头这
呆麻子
·
2016-07-03 21:39
设计模式系列
—命令模式
《HeadFirst设计模式》读书笔记命令模式(封装调用)一,场景介绍1,需求设计一个家电自动化遥控器的API,这个遥控器有7个可编程的插槽,每个插槽都有对应的开和关按钮,这个遥控器还有一个整体的撤销按钮。提供的家电厂商类有很多:Light、Door、TV等2,思考对于遥控器,它只是知道按下按钮,然后执行对应的ON或者OFF命令,但是他不知道电器执行的具体细节。如果采用判断语句if,else来逐个
呆麻子
·
2016-07-02 21:00
设计模式系列
—装饰者(Decorator)模式
《HeadFirst设计模式》读书笔记装饰者模式一,场景介绍1,需求一杯主饮料(Beverage)需要加入各种调料,比如蒸奶、豆浆、摩卡、奶泡等,最后需要算出加入调料后饮料的价格。2,思考如果只是几种固定的饮料进行组合和搭配那么容易实现,但是这些都是动态随机的,并且可能以后会有更多的新饮料。那么如何进行动态的组合呢?如果使用组合的方式,效果会如何?3,用装饰者构造饮料以装饰者的思想构建饮料可以理解
呆麻子
·
2016-06-30 14:25
设计模式系列
—单例(Singleton Pattern)模式
《HeadFirst设计模式》读书笔记单例模式一,背景介绍1,为什么要使用单例模式?在实际的开发中我们有时候只需要一个类对象的实例,并且如果这个实例很耗资源的话,我们只想在需要的时候调用它。2,实现思路:如何防止一个类实例可以被多次实例化?通过创建一个私有(private类型)的构造器,但此时问题是完全不可以实例化这个类对象。于是就引导出通过一个类的静态方法来实现。publicMyClass{pr
呆麻子
·
2016-06-28 12:21
设计模式系列
(四)建造者模式Builder
设计模式系列
(三)工厂模式 一文中,介绍了工厂方法模式和抽象工厂模式。
robertcpp
·
2016-06-26 14:00
设计模式
Builder模式
创建者模式
android源码中的设计模式(1)--builder模式
转载请注明出处:http://blog.csdn.net/tyhj_sf/article/details/51724383引言本文为分析AndroidAPI源码用到的
设计模式系列
文章之一,专门分析BuilderPattern
StevenSun2014
·
2016-06-21 02:31
《学习笔记》之JAVA设计模式--观察者模式
在学习了厉风行老师的《
设计模式系列
课程》后为方便查看,对其内容进行整理:一、什么是观察者模式观察者(Observer)模式是行为模式之一,它的作用是当一个被观察对象的状态发生变化时,能够自动通知相关的观察者对象
pengjunlee
·
2016-06-18 20:00
java
设计模式
观察者模式
java设计模式
设计模式-5种创建型
设计模式系列
博文:1.设计模式-6大设计原则2.设计模式-5种创建型3.设计模式-7种结构型4.设计模式-11种行为型1.单例模式单例模式的实现,一共有5种方式:1.饿汉式2.懒汉式3.双重锁定式4.枚举式
Fisher0113
·
2016-06-17 16:00
设计模式
设计模式-5种创建型
设计模式系列
博文:1.设计模式-6大设计原则2.设计模式-5种创建型3.设计模式-7种结构型4.设计模式-11种行为型1.单例模式单例模式的实现,一共有5种方式:1.饿汉式2.懒汉式3.双重锁定式4.枚举式
Fisher0113
·
2016-06-17 16:00
设计模式
《学习笔记》之JAVA设计模式--策略模式
在学习了厉风行老师的《
设计模式系列
课程》后为方便查看,对其内容进行整理:一、什么是策略模式策略(Strategy)模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。
pengjunlee
·
2016-06-15 18:00
java
设计模式
java设计模式
策略模式
设计模式系列
(三)工厂模式
工厂模式分类简单工厂模式(simplefactory):类的创建模式,又叫静态工厂方法(staticfactorymethod)模式。简单工厂模式就是由一个工厂类根据传入的参数决定创建哪一种的产品类。工厂方法模式(FactoryMethod):一抽象产品类派生出多个具体产品类;一抽象工厂类派生出多个具体工厂类;每个具体工厂类只能创建一个具体产品类的实例。即定义一个创建对象的接口(即抽象工厂类),让
robertcpp
·
2016-06-13 21:00
《学习笔记》之JAVA设计模式--装饰模式
在学习了厉风行老师的《
设计模式系列
课程》后为方便查看,对其内容进行整理:部分经典内容引用:点击打开链接:《JAVA与模式》之装饰模式 一、什么是装饰模式装饰(Decorator)模式又叫做包装(Wrapper
pengjunlee
·
2016-06-13 19:00
java
设计模式
java设计模式
装饰模式
设计模式系列
:总结
零.什么是设计模式: 设计模式(Designpattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。设计模式是可以解决特定场景的问题的一系列方法。就是问题解决模型。一.怎么学习设计模式:一个字:实践写大量代码写大量代码写大量代码设计模式就是某一类型场景下的最佳实践.复杂度到一定程度设计模式的问题你都会遇到,你欠缺的就是代码的复杂度而已.简单的说就是在现有面向对象语言的
a910626
·
2016-06-10 15:00
设计模式系列
:设计原则一句话总结
1.单一职责原则一句话总结:一个方法、接口或类尽量只做一件事情。这样会有一个非常大的优点:便于类和方法的重用(因为粒度越小的反而越利于复用)。但是因为单一职责原则提出了一个编写程序的标准,用”职责“或”变化原因“来衡量接口或类设计是否优良,而”职责“和”变化原因“都是不可度量的,因项目、环境而异,因此多数工业代码的类都是违反单一职责原则的。所以:接口、方法一定要做到单一职责原则,类的设计尽量做到只
a910626
·
2016-06-10 15:00
设计模式系列
:合成复用原则
尽量使用对象组合,而不是继承来达到复用的目的。在面对对象设计中,可以通过两种方法在不同的环境中复用已有的设计和实现,即通过组合/聚合关系或通过继承,但首先应该考虑使用组合/聚合,组合/聚合可以使系统更加灵活,降低类和类之间的耦合度,一个类的变化对其他类造成的影响相对较少,其次才考虑继承,在使用继承时,需要严格遵循里氏替换原则,有效使用继承或有助于对问题的理解,降低复杂度,而滥用继承反而会增加系统构
a910626
·
2016-06-10 11:00
设计模式系列
:接口隔离原则
问题由来问题由来:类A通过接口I依赖类B,类C通过接口I依赖类D,如果接口I对于类A和类B来说不是最小接口,则类B和类D必须去实现他们不需要的方法。解决方案:将臃肿的接口I拆分为独立的几个接口,类A和类C分别与他们需要的接口建立依赖关系。也就是采用接口隔离原则。定义在讲解接口隔离原则之前,先明确一下我们的主角——接口。接口分为两种:实例接口。在java中声明一个类,然后用new关键字产生一个示例,
a910626
·
2016-06-10 11:00
设计模式系列
:迪米特法则
问题由来问题由来:类与类之间的关系越密切,耦合度越大,当一个类发生改变时,对另一个类的影响也越大。解决方案:尽量降低类与类之间的耦合。自从我们接触编程开始,就知道了软件编程的总的原则:低耦合,高内聚。无论是面向过程编程还是面向对象编程,只有使各个模块之间的耦合尽量的低,才能提高代码的复用率。低耦合的优点不言而喻,但是怎么样编程才能做到低耦合呢?那正是迪米特法则要去完成的。定义一个软件实体应当尽可能
a910626
·
2016-06-10 11:00
设计模式系列
:依赖倒置原则
问题由来 问题由来:类A直接依赖类B,假如要将类A改为依赖类C,则必须通过修改类A的代码来达成。这种场景下,类A一般是高层模块,负责复杂的业务逻辑;类B和类C是低层模块,负责基本的原子操作;假如修改类A,会给程序带来不必要的风险。解决方案:将类A修改为依赖接口I,类B和类C各自实现接口I,类A通过接口I间接与类B或者类C发生联系,则会大大降低修改类A的几率。 依赖倒置原则基于这样一个事实:相对
a910626
·
2016-06-10 11:00
上一页
16
17
18
19
20
21
22
23
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他