为什么app关于我们页面设计要设计?

优秀网页设计联盟-SDC-网页设计师交流平台-听讲座,聊设计,找素材,尽在优设网
下一篇 继续涨姿势
阅读本文需 7 分钟
:最近越来越多的国内公司开始关注动效设计了,越来越多的团队意识到动效在产品用户体验中的重要性。但是为什么需要动效设计?需要什么样的动效?做动效设计也有段时间了,于是尝试用一些案例,从产品本身出发来说说我所思考的动效设计。
随着国际大品牌苹果和谷歌的引领,最近越来越多的国内公司开始关注动效设计了,越来越多的团队已经意识到动效在产品用户体验中的重要性了,更多的射鸡师们也开始投身动效设计领域。
(文中部分案例为设计师个人作品,部分为线上产品,都是我非常非常欣赏的作品。如不慎冒犯请戳我替换掉)
一、加强体验舒适度
嗯,就是让用户更加爽更加爽的用你的产品。
具体表现在:
1.表现层级关系
为了展现层与层的关系,是抽屉,是打开,还是平级切换等等,让用户知道这个界面和上一个、下一个的关系。这已经是非常最常见的运用了。
2.与用户手势结合,更自然的动画表现
当用户手势操作的时候,让界面的动态走向更符合手指的运动,从而让用户感觉到是自己控制了界面的动向,而不是机械化的跳转。
City guide app 用手势可以向左向右扔卡片
3.愉快的提示功能
在某些需要提醒的时候能吸引用户的注意,但是又不会生硬,符合预期的出现。
Action button feedback 出错提示
City Guides 启动时提示用户可以左右滑动卡片
4.额外增加界面的活力
在用户预期之外增加的惊喜,可以是帅气的,可以是卖萌,可以有些物理属性,总之让用户感知到产品的生命力。
readme.io 萌萌的输入框
amazon Q弹的菜单
不喜欢我 心都碎了呢~
5.吸引用户持久的注意力
也是属于增加用户的惊喜感,在某些数据量较大的界面中添加一些动效,让用户保持注意力。
Bubbles 以动态的形式展现数据点
二、减弱不可避免的不适感
虽然我们的产品,我们的交互,我们的设计,我们的工程狮都在努力把产品打造的更加优秀,更加完美,但是总有一些无法避免的问题、或者有可能会出现的bug、外界条件的不给力等因素,造成我们的产品体验下降。这些时候适当的增加一些动效可以弥补在出现这些情况时的不适体验。
比如下面这些:
1.让等待变得更愉快
常出现在加载、刷新、发送等界面中,让等待变得可视化,甚至不再那么无聊。
Download Progress 让下载不再枯燥
App loader 有趣的loading动画
gear-powered 拉了还想拉的下拉刷新
2.失败界面的动效
比如刷新失败、页面错误、未联网提示这些。
download 就算失败了还是感觉萌萌哒~
3.增加界面与界面衔接的延续感
界面的跳转不可以避免,但是如果让本来分别独立的2个界面或者事件拥有了某种特定的联系,可以显得更加好玩,不再是生硬的跳转。
iOS Animation Download 界面跳转时保留部分元素到下一个界面
Filter Menu 保留需要的条目 移走不再用的
三、不易被察觉的动效
特意把这一类单独说一下,由于不容易被发现,普通用户通常会忽略它们的存在,但很多时候这些小细节让交互变得更加有趣。
1.默默增加反馈感
为用户的操作提供有趣的正反馈。
Twitter 收藏的点击反馈
2.去除用户不再需要的元素
随着用户的操作,有的内容已经是用户不再关注的。这时候可以将他们隐藏起来。
CityHour Calendar Animated Interaction
上面的例子大部分都是比较特色鲜明的,但是大多数实际情况中的优秀动效设计都会涉及到好几点同时都满足。总的来说动效还是为用户体验而服务的,动效设计师尤其要注意交互逻辑,才能让你的作品看起来不但动效帅气逼人而且真正发挥了实际的作用。
最后要提醒的是,千万不要牺牲了用户宝贵的时间用来看你毫无目的的动效。
文章总结了一些自己的想法,有不足之处希望各位可以指出~
【人气超高的动效设计文!】
取悦人心?这组动效足够了!
小技巧一枚!教你快速保存动效!
未来标配!干货超多的UI动效好文!
【优设网 原创文章 投稿邮箱:】
================关于优设网================
“优设网“是国内人气最高的网页设计师学习平台,专注分享网页设计、无线端设计以及PS教程。
【特色推荐】
设计师需要读的100本书:史上最全的设计师图书导航:。
设计微博:拥有粉丝量99万的人气微博 ,欢迎关注获取网页设计资源、下载顶尖设计素材。
设计导航:全球顶尖设计网站推荐,设计师必备导航:
———————————————————–
想在手机上、被窝里获取设计教程、经验分享和各种意想不到的”福利”吗?
添加 优秀网页设计 微信号:【youshege】优设哥的全拼
您也可以通过扫描下方二维码快速添加:
走过路过不要错过!Windows 10 对网页设计的四大影响
我想最近几天,你应该也被Windows 10给刷屏了。升级还是不升级,这是一个问题。但不论你是XP死忠,还是Win7铁粉,你必须承认以隔代产品靠谱而著...
编者按:今年很多设计师开始玩动效,不过想让你的动效设计落地,远不是会AE 就能解决的。本文总结了让动效落地的整体解决思路,附动效软件推荐,建议阅读。 国际惯...@正越升 :「相融」是我接触MG之后一直很喜欢的一个效果,自己也尝试寻找不同的办法来实现相融的动效,下面是我收集的3种常用的制作方法,各有千秋,每种方法都仅...编者按:Airbnb 开发的这个动效神器,可以帮你轻松让动效落地,今天来个教程让大家学一下。 在没有 Lottie 之前,一般都是通过给 PNG 序列图,或...今天我要分享的是关于加载动画的知识体系及简单的制作方法,至于特殊场景总结不全之处,还请批判指正。 大纲如下: 一、加载动画存在的意义 二、加载动画的使用场景...我们日常所看到的绝大多数的网站,在基础配色方案上,都是以浅色为主的,背景大多是白色或者浅色。有意思的是,近两年,以黑色为主色调,或者大量运用深色背景的网站,...编者按:@魔力大熊 老师的第二篇PPT 进阶教程来咯。PPT 中那么多的动效可以选,该用哪个?怎么做出类似苹果发布会那样酷炫的动画过渡效果?来看今天的干货,...@每日一动刘嘉伟 (锤子科技动效设计师):终于要说 GSAP 了,GSAP 是绿袜子(greensock)家出的动画引擎,功能强大,简单易用,方便你实现各种...优秀的设计是无形的,一个优秀的动效能你的App变得友好而且抓人眼球,但是绝不会让用户分心。今天分享7个移动App 动效的设计技巧以及9条设计原则,帮你做出美...本设计指南适用于UI界面中交互微动效,涵盖入场、出场动效,过渡动效和加载动效,在时间和缓动曲线的选择上提供了一些通用的设计建议,帮助设计师理清动效设计思路,...
我们的团队
大家在关注
把好文章收藏到微信
打开微信,扫码分享学设计 优设网 在这里搜狐焦点网2017
 18:20
  今天的内容是一个问题:“为什么我们需要设计师?”。在回答这个问题之前先来看看我国人民平均的审美品位和设计能力。
  先从衣食住行说起。
  这是我国最常见的餐厅设计,以尽可能多地容纳人数为目标,易于清洁,便于拆除。
我们为什么需要设计师?
  讲究一些的话会用上木桌椅
为什么我们需要设计师?
  大多数仍是以白色长桌和彩色小圆凳为主
为什么我们需要设计师?
  这是我国最常见的办公楼
为什么我们需要设计师?
  强调恢弘大气,通常呈现为中间高两边低的“山”字形
为什么我们需要设计师?
为什么我们需要设计师?
为什么我们需要设计师?
为什么我们需要设计师?
  内部装潢也有着惊人一致的审美标准和设计思路,这是普通员工办公室
为什么我们需要设计师?
为什么我们需要设计师?
  这是会议室
为什么我们需要设计师?
  这是领导办公室
为什么我们需要设计师?
  这是我国最常见的学校教学楼
  初中:
为什么我们需要设计师?
  高中:
为什么我们需要设计师?
  大学:
  这是我国年轻人中最受欢迎的消费场所——奶茶店
为什么我们需要设计师?
为什么我们需要设计师?
  这是年轻人消费场所最常见的内部装饰——便利贴
为什么我们需要设计师?
为什么我们需要设计师?
  这是我国最常见的酒店
为什么我们需要设计师?
  这是不常见但盛名在外的豪华酒店
为什么我们需要设计师?
  如果不住酒店回家住的话,这是我国各大小城市最常见的居民建筑样式:
为什么我们需要设计师?
为什么我们需要设计师?
为什么我们需要设计师?
  先富起来的少部分人已经住上了别墅,审美品位和设计能力与普通居民住房相比自然有很大提升:
为什么我们需要设计师?
为什么我们需要设计师?
  这是我国最常见的市政设计
为什么我们需要设计师?
  这是我国最常见的露天广告牌
为什么我们需要设计师?
  现在,我问你,为什么我们需要设计师?
  本文部分图片来自知乎《国人审美大致处于一个审美样的水平?》
  其余图片来自网络
10秒填写,免费获取三套设计方案
10秒发布需求,找到专属设计方案
请选择城市
省钱又省心,帮您甄选装修公司
比价格比服务比设计
预约即为您推荐三家装修公司提供免费设计
1、在线填表预约————2、狐管家致电与您沟通————3、设计师免费上门量房,提供设计方案
添加图片0/3
微信公众号
扫码关注公众号获取更多家居资讯与装修优惠
电子邮箱:focuskf@
爱家热线:400-099-0099
每日9:00至18:00点
Copyright (C)
Inc. All Rights Reserved. 搜狐公司
更多专家
评分 5 400-032-
评分 5 400-032-
联系搜狐小管家400-032-8408 转 666888我的位置: >
> 装修,为什么非要找设计师?
装修,为什么非要找设计师?
1、设计师?其实他是总策划!如果说,装修是一个大的工程,那么设计师绝对是总策划。没有谁比设计师更了解装修过程中各个细节需要怎么样才能做出效果:该选哪些材料?这些材料如何搭配?这些材料分什么档次?哪些适合业主,哪些又不适合?专业的设计师会提供详细的讲解和服务。让业主在装修的路上,少走许多弯路。甚至完全不用操心,直到合同上的完工日期之时,将所期望的美好居家,明明白白的交到业主的手上。2、把控主材,精准预算!专业设计师利用设计元素,突出家居中某几个亮点即可达到最佳效果,不必堆砌过多的装饰材料。因为有了整体的规划,再加上装修计算器的专业运用,因此能节省许多不必要的花费,比业主自己在细节上算进算出省心多了。因为设计师对材料的运用一般都了如指掌,还能从材料供应商那里获得比业主自己选购更加便宜的价格,专业的知识又能保证材料的质量。业主不仅又省了材料价格,还收获了放心!3、空间规划,布局合理空间设计,这是、设计师的“金饭碗”,也是最基本的技能,没有谁比专业设计师更知道怎么去利用好有限的空间!他们就像在一张白纸上作画的画家,因为只有画家,才会做出更具鉴赏力的画作!专业设计师在拿到房型图纸后,根据房型特点,并结合业主的职业身份、情趣爱好和经济状况,以及实际生活需要,来确定大致要改建的区域部分,通过11张精准化设计图纸来表达。而业主也可以在与设计师的沟通过程中,获得更多的家装知识,修正并逐步清晰自己的装修理念,获得心目中的理想之家。4、配置软装,风格协调一间格调高雅的家居装饰,不在于花钱多少,也不在于使用多少高级材料,而在于软硬装一体化设计,空间、光线、色彩等元素合理搭配,就能营造出最舒适的室内环境。专业的设计师会通过合理搭配软装,能让居室的整体装修效果得到统一协调。在有限的家居空间内富有创造性地设计出既有个性和又温馨的家!5、节省时间,创造金钱装修本来是一件大工程。100平方的房子装修估计要耗时三个月以上;200多平的房子,基本需要花半年时间,多则长达一年。一个做生意、做老板,赚大钱的业主,哪有那么多时间折腾在一套房子的装修上。但如果请了专业的设计师效劳,就可以节省出许多宝贵的时间。一切有设计师操办,业主只需要登陆可视化工地随时了解施工进展。从而把更多精力和时间花在如何赚大钱的工作上!作为业主,又何乐而不为呢?免费是天下最贵的东西——为什么拒绝免费的设计!免费是天下最贵的东西免费顾名思议就是免去你的费用,想想什么东西都免费了,那人家赚什么钱,难道真有喝“西北风”的家伙,NO,这是一点是完全肯定的,天下没有白掉下来的馅饼,在多的免费只是一种诱惑的手段,用“放长线掉大鱼”的模式去赢得更多的收费。借用马云老师的一个例子,QQ我们大家在熟悉不过了,一开始这个QQ什么都免费,好了现在小到10岁左右的学生,大到60左右的老年人,每个人都有自己的QQ号,用来聊天,交友,传文件,视频等等一系列的服务,好了,到现在我们才发现我们已经离不开了胖企鹅了,现在的QQ我们可以看得到,又是什么QQ会员呀,QQ红钻,QQ黄钻的,就连几K的GIF图片都要卖几块钱,你说这还能叫免费吗…是,没错,现在QQ还是可以保持免费,但是免费和收费区别太大,免费的很多功能已经开始受到限制了…这个代表性的例子让我记住了一句话,免费是天下最贵的东西,如果能收费最好是给点钱,不要免费贯了,忘记了收费的本质.做设计也是如此,免费的东西你会要吗,如果想免费的话,你大可以去百度里下载很多图片来,七拼八凑,照样可以,我想那个样子的话肯定是牛头不对马嘴,说是家居还不如说是“蜗”居,想必你也是位重品味要生活品味的人,家对你来说是个避风岗,是个梦想转化地,你也想让这里成为真正成为你自己的温馨浪漫空间。不要因小失大,免费可能会导致更多的浪费设计师自述:&记得曾经有位客户,房子刚刚交付,到我这里前来咨询,谈了半天下来,我们把我们的合作流程和他说了一遍,最后他提出了几点要求,别人给我这套房子的设计说是1000块钱一套,而且是先给我出平面方案,在做效果图方案,那为什么你们确说要(X)块一平米计算,而且还要先交意向金,他说很不理解,后来他还是选择了那个免费出方案,出效果的人,可是不到了3天他又来找我,他说那个免费的家伙给他画的平面图,都是我自己的的意思,一点创意都没有,而且那个种图简直就是像家具摆放图,效果图的话就更别提了,他说他还是想找我们做设计,然而他这么一周转,又浪费了自己的时间又浪费的精力。最后我和他说了下我们的情况,做设计以前您必须要对我们的实力,能力,作品案例,流程一定要了解,因为彼此的双方信任与沟通才能保证以后更畅通愉快的合作,之所以为什么要先收意向金,这是对你的负责同时也是对我们自己的负责,不要一味的以为免费与低价的东西就是好,那样会得不偿失,因为设计这东西不是一两天就能搞定的事情,需要做的事情还有很多,设计的体现并不是那么几张图纸,更多的是结合业主的习性,生活的品味,风格的融入等等从而去改善业主的生活质量.设计不能纯粹艺术化,更多的是商业艺术化在这个科技快速发展的时代我觉得很多东西都必须商业化,没有销哪里来的“赢”,没有“赢”哪里来的发展,一连串的链子,一环扣一环,设计也不例外,只有纯粹的艺术那叫艺术品,七星级的设计客户不喜欢那也只是一个摆设,一个艺术装饰,不要拿梦想和现实攀比,梦想不去现实中实现,那也只是空想,不管是设计费和工程费都必须和RMB挂勾,高标准的装修如果不去控制预算成本,那将是拿RMB去垫底的无底洞。艺术化的设计如果不去和产值挂勾那也仅仅是件艺术品,没有丝毫价值,凡高的年代已经过去了,幻想终究是幻想,别等到人死后才感觉到它的价值,那也仅仅是个熟悉的陌生人,我们要做的是以现有的力量去创造更多的价值,设计不能纯粹艺术化,更多的是商业艺术化,东西又要越做越好,质量又要越做越高,当然RMB也会越产越多,我想这样的话,才会与完美更加靠近…主张最适合的收费,拒绝免费的设计设计没有什么好与坏,只有适合与不适合,就好像一件衣服一样的,穿在模特身上可能会很好看,可是换了一样却变了味,有主角就会有配角,戏就会越演越好看.设计也如此,不要以为费用收得有多高,设计师有多帅,年纪有多大,他的设计就最好,不要拿收费的高低去衡量一个设计师的水准,RMB不是衡量一个设计师能力的唯一标准,我们提倡收费的设计,拒绝免费的设计,但是这个收费一定要有度,主张最适合的收费,让客户赢得最高的性价比,装修有道,用钱用在点子上,以最适合的费用装最适合的效果,那才是最理想的设计。我们的收费只是给您带来更多的“免费”收费了,赢利了,自然要返利给客户了,正所谓要想吃得好,吃得多,得学会分享,同时QQ也正是一个最好的例子,现在QQ确实是收费了,但是也可以让很多用户一样是免费的,这个就是靠你自己是怎么样去选择去定位了,收费的功能多了,速度快了,效果更好了,而免费的还是停留在原有的功能。设计也一样,收费了当然也得客户带上一些客观的免费,比如免费咨询,免费后期跟踪服务,免费效果摄影,免费施工指导等等,这样你也就是徒手之劳,客户满意,你也高兴,二者何乐而不为呢,当然前提了,你免费的可能是来自你已经收到费用了,如果一厢情愿的免费到底,我想很快也会被淘吃挖空。设计没有最好的,只有最适合您的什么叫好设计,什么又叫好设计师,我不懂,你也不懂,因为现在就没有一个标准去定义什么叫好设计好设计师,我觉得业主得到自己最满意的设计,施工出来看到自己最满意的效果,设计消费最合适的设计费用,装修投资最理性的工程费用,客户住的舒服,看得满意,设计师一切为了客户着想,一切以性价比为首,我想这才叫最适合您的设计,最适合您的设计师。不要为了签单去做设计,不要拿免费去换取低收费想赚钱得先忘了赚钱,你天天脑子想着都是钱,那你可以不用做事了,天天在那里幻想就可以了,做设计的不要以签单而去做设计,那样设计做不好,客户也搞不定,不要把想着只要能签到单就可以了,搞定客户不是表面的搞定,而是在心里,让他们成为你心里真正的朋友,对待客户也一样以诚心相待,把客户当成自己最好的朋友,用心与客户交流,发现客户的一些细节,多关注他们的思想与习性,只有你真正的做到:签是空,单即是空,以“诚心,尽心,用心”去对待,我看客户不找你做设计也不行了.在做设计的时候不要总拿一些免费去换取客户的同情心,搞什么先免费出平面方案,效果图方案,预算等等。没有沟通与了解,没有双方充分信任的设计,我看也不是什么好设计,也做不出什么好设计来,设计师也是人,也要吃饭,你就直接说明白,我们的设计不是抄来,不是网上下载来,是认认真真一点一点的想出来,我们的设计是要收费,你一点一点与客户去实话说,我想每个理性的客户都能理解,如果实在不行,那么就放弃,只有懂得学会放弃部分不合适的,手上的单才会越做越多,坚决不要为了签单去做设计,坚决不要用施工来养设计,坚决不要用免费去换取低价,坚决不要用低价与可怜去换取客户的同情,坚决不要为了一点利益而放弃设计的无价。收费会越收越高,而免费只会一厢情愿人是越长越大,因为天天在吃饭,阿里巴巴是越做越大了,因为人流量,实力,产业,信任度是越来越大,有实力的只会是越做越好,收费只会越收越高,而免费的就好像是闭门造门,一厢情愿,不去生鸡蛋哪里来的鸡,不要产值哪里来的饭吃,就算是金山也会有吃空的一天,适当的免费,用收费去赢得更多的免费,这样的话收费只会越来越高,免费越来越多,你好,我好,大家好才是真的好。彼此的充分沟通与信任,是“做好”设计的前提没有好的规矩成不了好的方圆,没有好的管理成不了好的团队,没有好的沟通与信任做不了好的设计,一味的盲目的去做,那也只是瞎子做事,勿打勿撞,我一直认为,客户需要理解,我们需要沟通,双方都需要信任,在装修的过程,如果设计是主角,那客户就是观众,不管怎么样都需要双方的协作,也好比是一个团队一样,没有完美的个人,只有完美的团队,戏唱的好不好还得观众来说,如果抓不住客户的心,客户的想法,一味的凭自己的感觉走,那是没有用的,别到时候碰得个牛头不对马嘴,如果你是想去看流行音乐的演唱会,台上却是个国家级的京剧演员在演京剧,你会是什么反应,不管你是客户还是设计师,都要彼此双方充分信任与沟通,因为这是合作的最基础,一厢情愿成不了什么好事。持有一颗感恩,以诚相待,认真负责的心去做设计,当业主当成您最好的朋友每个人都有每个人的想法,不管是对事还是对人,他总有他的一面,每个人都有自己的长处与短处,我一直认为,三人行必有我师,不管你身边的哪位朋友,我想他都会是你最好的老师,把自己的客户当成你最好的朋友去沟通,去对待,不管他有钱没钱,不管他的房子是别墅还是套间,只要彼此尊重,他欣赏你的设计,你都必须一视同仁,用自己最真,最诚,最尽心,最负责的态度以一颗感恩的心去对待,这样往往你会发现你身边的客户都会成为你最真最诚的好朋友。
设计本将严格保护您的隐私,请放心填写
手机设计本
随时提问题,随意赏美图
设计本官方微信
扫描二维码,即可与本本亲密互动,还有更多美图等你来看!
免责声明:本网站部分内容由用户自行上传,如权利人发现存在误传其作品情形,请及时与本站联系。
(C)2012 设计本-定制化装修设计服务平台, All
Rights Reserved. ()查看本人文章索引请通过
我们在编程中最常用的模式就是单例模式了,然而单例模式都用在什么场合?为什么不用静态方法而要用单例模式呢?要搞清这些问题,需要从静态方法和非静态方法的区别和联系说起。
一、静态方法常驻内存,非静态方法只有使用的时候才分配内存?
一般都认为是这样,并且怕静态方法占用过多内存而建议使用非静态方法,其实这个理解是错误的。
为什么会这样,先从内存分配开始说起:
托管堆的定义:对于32位的应用程序来说,应用程序完成进程初始化后,CLR将在进程的可用地址空间分配一块保留的地址空间,它是进程(每个进程可使用4GB)中可用地址空间上的一块内存区域,但并不对应任何物理内存,这块地址空间即是托管堆。
托管堆有分为多个区域,其中最重要的是垃圾回收堆(GC Heap)和加载堆(Loader Heap),GC Heap用于存储对象实例,受GC管理;Loader Heap又分为High-Frequency Heap、Low-Frequency Heap和Stub Heap,不同的堆上又存储不同的信息。Loader Heap最重要的信息就是元数据相关的信息,也就是Type对象,每个Type在Loader Heap上体现为一个Method Table(方法表),而Method Table中则记录了存储的元数据信息,例如基类型、静态字段、实现的接口、所有的方法等等。Loader Heap不受GC控制,其生命周期为从创建到AppDomain卸载。(摘自《你必须知道的.Net》)
由此我们就明白了,静态方法和非静态方法,在内存里其实都放在Method Table里了,在一个类第一次被加载的时候,它会在Loader Heap里把静态方法,非静态方法都写入Method Table中,而且Loader Heap不受GC控制,所以一旦加载,GC就不会回收,直到AppDomain卸载
由此我们也明白了,静态方法和非静态方法,他们都是在第一次加载后就常驻内存,所以方法本身在内存里,没有什么区别,所以也就不存在&静态方法常驻内存,非静态方法只有使用的时候才分配内存&这个结论了。
二、静态方法和非静态方法的区别?
在内存中的区别是,非静态方法在创建实例对象时,因为属性的值对于每个对象都各不相同,因此在new一个实例时,会把这个实例属性在GC Heap里拷贝一份,同时这个new出来的对象放在堆栈上,堆栈指针指向了刚才拷贝的那一份实例的内存地址上。而静态方法则不需要,因为静态方法里面的静态字段,就是保存在Method Table里了,只有一份。
因此静态方法和非静态方法,在调用速度上,静态方法速度一定会快点,因为非静态方法需要实例化,分配内存,但静态方法不用,但是这种速度上差异可以忽略不计。
三、为什么要有非静态方法?
早期的结构化编程,几乎所有的方法都是&静态方法&,引入实例化方法概念是面向对象概念出现以后的事情了,区分静态方法和实例化方法不能单单从性能上去理解,创建c++,java,c#这样面向对象语言的大师引入实例化方法一定不是要解决什么性能、内存的问题,而是为了让开发更加模式化、面向对象化。这样说的话,静态方法和实例化方式的区分是为了解决模式的问题。
接下来继续思考,如果我们全部用静态方法,不用非静态方法,不是一样能实现功能吗?是的,没错,但是你的代码是基于对象,而不是面向对象的,因为面向对象的继承和多态,都是非静态方法。
第二个原因是为什么不建议都用静态方法,我们如果多线程的情况下,如果静态方法使用了一个静态字段,这个静态字段可以会被多个线程修改,因此说如果在静态方法里使用了静态变量,这就会有线程安全问题,当然了,就算不是多线程,因为静态字段只有一份,同样会有被其他地方修改的问题。
从这三点我们得出的结论如下:
一、 什么时候用静态方法,什么时候使用非静态方法?
既然静态方法和实例化方式的区分是为了解决模式的问题,如果我们考虑不需要继承和多态的时候,就可以使用静态方法,但就算不考虑继承和多态,就一概使用静态方法也不是好的编程思想。
从另一个角度考虑,如果一个方法和他所在类的实例对象无关,那么它就应该是静态的,否则就应该是非静态。因此像工具类,一般都是静态的。
二、 为什么使用单例模式而不用静态方法?
&从面相对象的角度讲:
虽然都能实现目的,但是他们一个是基于对象,一个是面向对象的,就像我们不面相对象也能解决问题一样,面相对象的代码提供一个更好的编程思想。
如果一个方法和他所在类的实例对象无关,那么它就应该是静态的,反之他就应该是非静态的。如果我们确实应该使用非静态的方法,但是在创建类时又确实只需要维护一份实例时,就需要用单例模式了。
比如说我们在系统运行时候,就需要加载一些配置和属性,这些配置和属性是一定存在了,又是公共的,同时需要在整个生命周期中都存在,所以只需要一份就行,这个时候如果需要我再需要的时候new一个,再给他分配值,显然是浪费内存并且再赋值没什么意义,所以这个时候我们就需要单例模式或静态方法去维持一份且仅这一份拷贝,但此时这些配置和属性又是通过面向对象的编码方式得到的,我们就应该使用单例模式,或者不是面向对象的,但他本身的属性应该是面对对象的,我们使用静态方法虽然能同样解决问题,但是最好的解决方案也应该是使用单例模式。
从功能上讲:单例模式可以控制单例数量;可以进行有意义的派生;对实例的创建有更自由的控制;
三、其他:
数据库连接能不能做SingleTon?
如果是简单地把一个connection对象封存在单例对象中,这样是错误的,因此连接池里有多个链接可以用,如果使用SingleTon,那在WEB访问时,就只能用一个数据库链接,那不是死的很惨?
但是链接池可以使用单例模式,初始化的时候创建譬如100个connection对象,然后再需要的时候提供一个,用过之后返回到pool中,我们用单例模式,是保证连接池有且只有一个。
再举个例子,比如DAL层写好一个调用数据库表的类,在BLL层应用此类时,如果每次都new创建的话需要频繁的创建和回收,而DAL层这个类里又没有和对象相关的值变量,所以不需要每次都new一个,这时候就可以用单例模式来创建这个DAL实例。
阅读(...) 评论()}

我要回帖

更多关于 我们的生活需要设计 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信