面向对象的程序设计 (OOP )

<p>面向对象的程序设计</p><p>所谓面向对象的程序设计,就是把面向对象的思想应用到软件工程中,并指导开发维护软件。
对象是由数据和容许的操作组成的封装体,所谓面向对象,就是基于对象的概念,以对象为中心,类和继承为构造机制,认识了解刻画客观世界以及开发出相应的软件系统。
面 向对象的程序设计(OOP)并不是刚刚提出来的,主要是由于C++和Java这类语言的传播,OOP最近才显得越来越重要了。为什么面向对象的设计如此流 行呢?从理论上讲,用面向对象的语言可以处理任何其他计算机语言所能完成的事情。然而当建立基于智能体的模型时,OOP对于开始的程序员和后来的程序读者 都表现出了很大的优势。</p><div style="page-break-after: always;"><span style="display: none;"><!--more-->& nbsp ;</span></div><p>面向对象的程序设计特点
编程模型</p><p>所有计算机均由两种元素组成:代码和数据.精确的说,有些程序是围绕着"什么正在发生"而编写,有些则是围绕"谁正在受影响"而编写的.
第一种编程方式叫做"面向过程的模型",按这种模型编写的程序以一系列的线性步骤(代码)为特征,可被理解为作用于数据的代码.如 C 等过程化语言.
第二种编程方式叫做"面向对象的模型",按这种模型编写的程序围绕着程序的数据(对象)和针对该对象而严格定义的接口来组织程序,它的特点是数据控制代码的访问.通过把控制权转移到数据上,面向对象的模型在组织方式上有:抽象,封装,继承和多态的好处.</p><p>抽象</p><p>面向对象程序设计的基本要素是抽象,程序员通过抽象来管理复杂性.
管 理抽象的有效方法是使用层次式的分类特性,这种方法允许用户根据物理含义分解一个复杂的系统,把它划分成更容易管理的块.例如,一个计算机系统是一个独立 的对象.而在计算机系统内部由几个子系统组成:显示器,键盘,硬盘驱动器,DVD-ROM,软盘,音响等,这些子系统每个又由专门的部件组成.关键是需要 使用层次抽象来管理计算机系统(或其他任何复杂系统)的复杂性.
面向对象程序设计的本质:这些抽象的对象可以被看作具体的实体,这些实体对用来告诉我们作什么的消息进行响应.
/ (我的理解)
计算机是一个实体,我要输入字符,显示器显示出来,那么
计算机(对象).输入(键盘属性).显示(显示方法)
使用分层来引用,操作.而不用管计算机内部如何处理.
只要有计算机对象,它就能响应我的操作,而我敲键盘,
计算机对象就把这个消息传给屏幕,屏幕显示.
*/
计算机对象包含了它所有的属性,以及操作,这就是面向对象程序设计的三大原则之一:封装.</p><p>封装</p><p>封 装是一种把代码和代码所操作的数据捆绑在一起,使这两者不受外界干扰和误用的机制.封装可被理解为一种用做保护的包装器,以防止代码和数据被包装器外部所 定义的其他代码任意访问.对包装器内部代码与数据的访问通过一个明确定义的接口来控制.封装代码的好处是每个人都知道怎样访问代码,进而无需考虑实现细节 就能直接使用它,同时不用担心不可预料的副作用.
在JAVA中,最基本的封装单元是类,一个类定义着将由一组对象所共享的行为(数据和代码).一个类的每个对象均包含它所定义的结构与行为,这些对象就好象是一个模子铸造出来的.所以对象也叫做类的实例.
在定义一个类时,需要指定构成该类的代码与数据.特别是,类所定义的对象叫做成员变量或实例变量.操作数据的代码叫做成员方法.方法定义怎样使用成员变量,这意味着类的行为和接口要由操作实例数据的方法来定义.
由于类的用途是封装复杂性,所以类的内部有隐藏实现复杂性的机制.所以JAVA中提供了私有和公有的访问模式,类的公有接口代表外部的用户应该知道或可以知道的每件东西.私有的方法数据只能通过该类的成员代码来访问.这就可以确保不会发生不希望的事情.</p><p>继承</p><p>继 承是指一个对象从另一个对象中获得属性的过程.是面向对象程序设计的 三大原则之二,它支持按层次分类的概念.例如,波斯猫是猫的一种,猫又是哺乳动物的一种,哺乳动物又是动物的一种.如果不使用层次的概念,每个对象需要明 确定义各自的全部特征.通过层次分类方式,一个对象只需要在它的类中定义是它成为唯一的 各个属性,然后从父类中继承它的通用属性.因此,正是由于继承机制,才使得一个对象可以成为一个通用类的一个特定实例.一个深度继承的子类将继承它在类层 次中的每个祖先的所有属性.
继承与封装可以互相作用.如果一个给定的类封装了某些属性,它的任何子类将会含有同样得属性,另加各个子类所有得属性.这是面向对象程序在复杂性上呈线性而非几何增长的一个重要概念.新的子类继承其所有祖先的所有属性.子类和系统中的其他代码不会产生无法预料的交互作用.</p><p>多态</p><p>多态是指一个方法只能有一个名称,但可以有许多形态,也就是程序中可以定义多个同名的方法,用"一个接口,多个方法"来描述.可以通过方法的参数和类型引用.</p><p>封装,继承,多态的组合使用</p><p>在由封装,继承,多态所组成的环境中,程序员可以编写出比面向过程模型更健壮,更具扩展性的程序.经过仔细设计的类层次结构是重用代码的基础.封装能让程序员不必修改公有接口的代码即可实现程序的移植.多态能使程序员开发出简洁,易懂,易修改的代码.例如:汽车
从继承的角度看,驾驶员都依靠继承性来驾驶不同类型(子类)的汽车,无论这辆车是轿车还是卡车,是奔驰牌还是菲亚特牌,驾驶员都能找到方向盘,手刹,换档器.经过一段时间驾驶后,都能知道手动档与自动档之间的差别,因为他们实际上都知道这两者的共同超类:传动装置.
从封装的角度看,驾驶员总是看到封装好的特性.刹车隐藏了许多复杂性,其外观如此简单,用脚就能操作它.发动机,手刹,轮胎大小的实现对与刹车类的定义没有影响.
从多态的角度看,刹车系统有正锁反锁之分,驾驶员只用脚踩刹车停车,同样的接口可以用来控制若干种不同的实现(正锁或反锁).
这样各个独立的构件才被转换为汽车这个对象的.同样,通过使用面向对象的设计原则,程序员可以把一个复杂程序的各个构件组合在一起,形成一个一致,健壮,可维护的程序</p>

阅读剩余部分 -

AS3、Flex循环调用一个对象的属性、方法

<p>当一个类有很多名称相似的属性(如prop1,prop2,prop3……),或是有很多名称相似的方法(如fun1,fun2,func3……),那么如何用一个for()循环循环调用这些属性和方法呢?</p><div style="page-break-after: always;"><span style="display: none;"><!--more-->& nbsp ;</span></div><p>    可以用如下的方法实现:</p><p>package {
    import flash.display.Sprite;

    public class Test extends Sprite
    {
        private var prop1:String = "foo";
        private var prop2:String = "bar";
        public function Test():void
        {       
            for (var i:int=1; i<3; i++)
            {
                trace(this["prop"+i]);
            }
            for (var j:int=1; j<3; j++)
            {
                this["fun"+j].apply(this, [j,"字串"+j]);
            }
        }
        private function fun1(i:int, str:String):void
        {
            trace("fun1被调用!");
            trace(i);
            trace(str);
        }
        private function fun2(i:int, str:String):void
        {
            trace("fun2被调用!");
            trace(i);
            trace(str);
        }
    }
}</p><p>      </p><p>输出结果:</p><p>foo
bar
fun1被调用!
1
字串1
fun2被调用!
2
字串2</p><p> </p><p>    如果要循环调用其它类对象的属性、方法,比如在类Test中循环调用类Test2实例对象的属性、方法。可以用下面的方法实现:</p><p>Test.as</p><p>package {
    import flash.display.Sprite;

    public class Test extends Sprite
    {
        
        public function Test():void
        {        
            var test2:Test2 = new Test2();
            for (var i:int=1; i<3; i++)
            {
                trace(test2["prop"+i]);
            }
            for (var j:int=1; j<3; j++)
            {
                test2["fun"+j].apply(test2, [j,"字串"+j]);
            }
        }
    }
}</p><p>Test2.as</p><p>package
{
    public class Test2
    {
        public var prop1:String = "test2中的foo";
        public var prop2:String = "test2中的bar";
        public function Test2():void
        {        
        }
        public function fun1(i:int, str:String):void
        {
            trace("test2中的fun1被调用!");
            trace(i);
            trace(str);
        }
        public function fun2(i:int, str:String):void
        {
            trace("test2中的fun2被调用!");
            trace(i);
            trace(str);
        }
    }
}</p><p>输出结果:</p><p>test2中的foo
test2中的bar
test2中的fun1被调用!
1
字串1
test2中的fun2被调用!
2
字串2</p>

阅读剩余部分 -

Flash builder 4.6 无需序列号破解方法

<div><p>本方法是针对修改host文件,并且输入的序列号无效的办法... 如果你安装修改了host以及序列号之后没问题 , 那就不建议用这样的办法了 ...</p><p>
具体步骤如下:
1.到Adobe官网下载FlashBuilder 4.6,有简体中文版;</p><div style="page-break-after: always;"><span style="display: none;"><!--more-->& nbsp ;</span></div><p>

语言:简体中文(Simplified)
http://trials3.adobe.com/AdobeProducts/FLBR/4_6/win32/FlashBuilder_4_6_LS10.exe

2.安装时,不用序列号,直接选择安装试用版;

3.安装完成后在安装目录下依次修改下列3个文件:

(1).eclipsepluginscom.adobe.flexbuilder.project_4.6.0.328916META-INF下面的MANIFEST.MF修改:

Bundle-Version: 0.0.0

(2).eclipsefeaturescom.adobe.flexide.feature_4.6.0.328916下面的feature.xml修改:

<plugin
         id="com.adobe.flexbuilder.project"
         download-size="0"
         install-size="0"
         version="0.0.0"/>

(3).eclipsepluginscom.adobe.flexbuilder.flex_4.6.0.328916下面:

复制config.xml并重命名为config_builder.xml

注:以上紫色文字部分为具体的版本号,请跟据实际版本号进行查找

修改完成之后,再启动Adobe Flash Builder 4.6,恭喜你,你会发现自己彻底拥有了这款RIA工具了。

建议  :序列号不行的情况下用这种办法</p></div>

阅读剩余部分 -

Sublime Text 使用介绍

<div><p>如果说Notepad++是一款不错Code神器,那么Sublime Text应当称得上是神器滴哥。Sublime Text最大的优点就是跨平台,Mac和Windows均可完美使用;其次是强大的插件支持,几乎无所不能。</p><p></p><div style="page-break-after: always;"><span style="display: none;"><!--more-->& nbsp ;</span></div><h2>开始使用Sublime Text:</h2><p>Sublime Text有Dev版本,推荐使用,下载地址,一般推荐下载便携版本(Portable version),这样拿来拿去很方便,也不用安装,而且插件和主体在一个目录下,便携。</p><h2>Sublime Text快捷键:</h2><ul> <li>Ctrl+Shift+P:打开命令面板</li> <li>Ctrl+P:搜索项目中的文件</li> <li>Ctrl+G:跳转到第几行</li> <li>Ctrl+W:关闭当前打开文件</li> <li>Ctrl+Shift+W:关闭所有打开文件</li> <li>Ctrl+Shift+V:粘贴并格式化</li> <li>Ctrl+D:选择单词,重复可增加选择下一个相同的单词</li> <li>Ctrl+L:选择行,重复可依次增加选择下一行</li> <li> <div>Ctrl+Shift+L:选择多行</div> </li> <li>Ctrl+Shift+Enter:在当前行前插入新行</li> <li>Ctrl+X:删除当前行</li> <li>Ctrl+M:跳转到对应括号</li> <li>Ctrl+U:软撤销,撤销光标位置</li> <li>Ctrl+J:选择标签内容</li> <li>Ctrl+F:查找内容</li> <li>Ctrl+Shift+F:查找并替换</li> <li>Ctrl+H:替换</li> <li>Ctrl+R:前往 method</li> <li>Ctrl+N:新建窗口</li> <li>Ctrl+K+B:开关侧栏</li> <li>Ctrl+Shift+M:选中当前括号内容,重复可选着括号本身</li> <li>Ctrl+F2:设置/删除标记</li> <li>Ctrl+/:注释当前行</li> <li>Ctrl+Shift+/:当前位置插入注释</li> <li>Ctrl+Alt+/:块注释,并Focus到首行,写注释说明用的</li> <li>Ctrl+Shift+A:选择当前标签前后,修改标签用的</li> <li>F11:全屏</li> <li>Shift+F11:全屏免打扰模式,只编辑当前文件</li> <li>Alt+F3:选择所有相同的词</li> <li>Alt+.:闭合标签</li> <li>Alt+Shift+数字:分屏显示</li> <li>Alt+数字:切换打开第N个文件</li> <li>Shift+右键拖动:光标多不,用来更改或插入列内容</li> <li>鼠标的前进后退键可切换Tab文件</li> <li>按Ctrl,依次点击或选取,可需要编辑的多个位置</li> <li>按Ctrl+Shift+上下键,可替换行</li></ul><h2>Sublime Text 设置:</h2><ul> <li>Setting User
以下是浩子使用的 <pre>{ "font_face": "courier new", "font_size": 9.0, "highlight_line": true, "scroll_past_end": false, "tab_size": 4, "theme": "Soda Dark.sublime-theme", "word_wrap": true}</pre> </li></ul><h2>Sublime Text插件:</h2><p>建议先启用Package Control,作用是安装插件时很方便,启用方法:菜单栏 – View – Show Console,贴入以下代码并回车,然后重启Sublime。如果你所在的网络无法启用,则无法使用,手动搜索下载去吧(话说你的网也被封了?)。</p><pre>import urllib2,os;pf='Package Control.sublime-package';ipp=sublime.installed_packages_path();os.makedirs(ipp) if not os.path.exists(ipp) else None;open(os.path.join(ipp,pf),'wb').write(urllib2.urlopen('http://sublime.wbond.net/';+pf.replace(' ','%20')).read())</pre><p>开始安装一些非常实用的插件吧,Ctrl+Shift+P(菜单 – Tools – Command Paletter),输入 install 选中Install Package并回车,输入或选择你需要的插件回车就安装了(注意左下角的小文字变化,会提示安装成功),安装其它插件也是这个方法,非常快速。</p><ul> <li>ZenCoding
不得不用的一款前端开发方面的插件,Write less , show more.安装后可直接使用,Tab键触发,Alt+Shift+W是个代码机器。</li> <li>Alignment
代码对齐,如写几个变量,选中这几行,Ctrl+Alt+A,哇,齐了。</li> <li>Prefixr
写 CSS可自动添加 -webkit 等私有词缀,Ctrl+Alt+X触发。</li> <li>Tag
Html格式化,右键Auto-Format Tags on Ducument。</li> <li>Clipboard History
剪贴板历史记录,显示更多历史复制,Ctrl+Shift+V触发。</li> <li>SideBarEnhancements
侧栏右键功能增强,非常实用</li> <li>Theme – Soda
完美的编码主题,用过的都说好,Setting user里面添加”theme”: “Soda Dark.sublime-theme”</li> <li>GBK to UTF8
将文件编码从GBK转黄成UTF8,菜单 – File里面找</li> <li>SFTP
直接编辑 FTP 或 SFTP 服务器上的文件,绝对FTP浮云</li> <li>WordPress
集成一些WordPress的函数,对于像我这种经常要写WP模版和插件的人特别有用</li> <li>PHPTidy
整理排版PHP代码</li> <li>YUI Compressor
压缩JS和CSS文件</li></ul></div>

阅读剩余部分 -

VMware Workstation v9.0.0 完美汉化注册版下载

<div><p>VMware Workstation是著名的VM虚拟机系统。虚拟机是独立运行主机操作系统的离散环境</p><p>
VMware Workstation 9.0 更新内容如下:

1.Easy Install完美支持Windows 8/Metro;

2.画面渲染升级,带来更多特性,更快更精准;

3.Linux下的OpenGL支持;

4.保护自己的虚拟机不被修改,可以设置密码保护;

5.带来全新的基于Html5技术的WSX,使得可以在移动设备上访问自己创建的虚拟机;

6.完美支持USB 3.0</p><div style="page-break-after: always;"><span style="display: none;"><!--more-->& nbsp ;</span></div><p>

VMware Workstation 9.0 key :

以下 序列号 来源于网络,仅供测试使用:

JV695-DR0D3-LZUC0-H8852-CAWJ4

4F297-84H0M-MZN18-X207P-ACQLQ

VMware Workstation 9 汉化方法:

1.使用任务管理器将VMware Workstation所有进程结束;

2.将解压后得到的“VMware 9 汉化包”文件夹的所有文件替换源文件(32 or 64自行选择)

下载官方英文版再使用以上方法汉化。为了让大家不用麻烦,已经把VMware9官方安装包和VMware 9 汉化包集成在安装包里面,压缩包内附带注册机</p><p>双线下载链接地址</p></div>

阅读剩余部分 -

轻设计,让网站灵敏轻便的6个技巧

在网站或软件的策划和设计过程中,我们经常听到这样的讨论:“这个功能设计得太重了”又或“我们希望能够处理得轻一些”。似乎轻设计是时下炙手可热 的话题,也是方兴未艾的Web2.0大浪下设计师们的最爱(看看那些在全世界遍地开花的SNS网站,无论是视觉元素还是交互流程均能轻则轻)。本文主要从 实践和总结的角度出发,提出了让设计变得更轻的6个技巧。

阅读剩余部分 -

准“扁平化设计”

扁平化设计在当下的用户界面设计界是很有争议的,微软的 Metro 风最早将其介绍给大众,之后有了很多人跟风,比如LayerVault、 The Next Web以及更多。许多设计师从最开始就不看好这类设计,主要是因为在稍微复杂一点的界面中,扁平化设计会带来很多困扰。 

扁平化设计既漂亮又清新,设计起来快,也更容易响应。如果只是绘画上的设计趋向可能会被广为接受,但是网页设计者总是对易用性持有很高的关注度,因此总会觉得扁平化设计天然的就有缺陷。

阅读剩余部分 -

20步打造完美网站布局设计

<p>Claudio Guglieri 在纽约广告公司 B-Reel 任职总监,他撰写了本网站设计培训指南,通过分享自己多年从事设计工作中看到的一些常见错误,尤其是“网站设计培训”中所述的实习生和新手们的通病。来帮助您了解设计网站布局的全过程。</p><div style="page-break-after: always;"><span style="display: none;"><!--more-->& nbsp ;</span></div><p>01. 先在纸上整理思绪</p><p>世界各处城市插图系列简笔</p><p>此 条显然很重要,但是我经常发现一些设计师会跳过这步直接使用 Photoshop CS6 而不去思考他们需要解决的问题。设计的目的在于解决问题,而这些有待解决的问题无法通过渐变或阴影效果得到解决,而是需要完美的布局和清晰的结构。想一想 内容、布局和功能,然后再开始上阴影效果。</p><p></p><p>02. 从顶层框架草图入手 UX sketch</p><p>草绘基本的框架将帮助你解决 UX 问题,并组织布局结构</p><p>如果我要做一个项目的外观和感觉,第一件事就是先建一个顶层框架,可解决所有设计问题。框架是指内容周围的 UI,有助于执行操作并进行浏览。其中包括导航和各类组件,例如边栏和底栏。如果你从这点着手设计,则设计主页以外的部分时,布局内容将了然于心。</p><p></p><p>03. 为 PSD 添加网格</p><p></p><p>以 10 像素基线绘制的 978 网格示例</p><p>这 步操作非常简单。在 Photoshop 中着手设计任何内容前,你需要创建一个合适的网格。这一步的道理众所周知,如果你没有这么做,我可以断言,最后的设计总是无法尽善尽美。借助于网格,你能 安排不同部分的布局结构;还能指导你按照特定屏幕尺寸要求进行设计,并能帮助你创建相应的模板,以便符合间距和其他设计问题。</p><p>04. 选择排版样式</p><p></p><p>根 据常规经验,一个网站布局中所用字型最好不要超过两种。了解不同的字型和配色是项目开发阶段的工作。我建议一个网站中所用字型不要超过两种,不过 实际上,还需取决于你可用的色系。总之,所选字体需便于阅读大量文字,且与标题和操作相映成趣。大胆使用大字体,并在使用字型时保持整体一致性和生动感。</p><p>05. 选择主题颜色</p><p></p><p>使用有限的色阶和色调以免产生视觉疲劳。</p><p>选 完要使用的一系列字型后,你应开始研究 UI、背景和文本该用什么颜色。关于颜色,我建议在处理常规用户界面是用色及色调需简洁。根据元素功能在设计 UI 时保持一致性非常重要。想想 Facebook、Twitter、Quora 和 Vimeo 之类的网站布局。除 UI 外,插图或图形细节部分只要没有干扰组件功能的话,在用色方面也没什么限制。</p><p>06. 划分布局</p><p></p><p>网 站结构越简单,用户浏览时就越方便。网站各个部分都需要发挥各自的作用。对于用户而言,每个部分都有各自存在的理由,并能得到相应的最终结果。布 局需要帮助强调其内容着重显示该部分最重要的信息。实际上,一个页面并不需要太多调用按钮,因此每个内容都应推动到最终“我可以在此实现什么目的”。思考 一下,你可以为一个简单的目标构想到的最简单的布局,并开始添加所需组件。最后你会惊喜的发现简洁也并非易事。</p><p>07. 重新思考已建内容</p><p></p><p>我们真的还需要一个搜索按钮吗?在大多数情况下,答案是不。</p><p>作 为设计人员,我们构建了用户浏览互联网的方式,需要采取多少步骤才能执行一个简单的操作以及网站的复杂性都是由我们来决定的。我们一直都在遵循一 些设计模式和惯例,因为它们切实有效,但有时候只是因为没人有足够的时间进行衡量或者重新思考。重新思考组件上已建的交互模式,并看看是否可以进行改进, 这点至关重要。</p><p>08. 自我挑战</p><p>我鼓励每位设计人员不要墨守成规,而是在每个项目上进 行自我挑战。并非每个项目都要求创新,因此,需要我们自己决定是否要增加一些交互设计相关的内 容。比如,各种自我挑战可能包括使用新的网格系统、创建新的组件,或者甚至包括一些小挑战,诸如避免混合模式或者避免使用特定的颜色。</p><p>09. 注意细节</p><p></p><p>正在进行的游戏项目:细节视图</p><p>这条也算是老生常谈了,但并非始终在成品中得到应用。根据项目的概念,“关注点”也会有所不同。可以注重小型交互、意想不到的动画或审美感受,例如按钮上的小渐变或是背景盒子周围的微妙笔画之类。但是总的来说,如果你乐在其中,这种感受非常重要,而且非常自然。</p><p>10. 认真对待每个组件,就当参加设计比赛</p><p></p><p>注重每个组件,一加一大于二</p><p>我必须承认这并不是我首创的理论。过去曾在 Fantasy Interactive 上听到这种说法,当时我就震惊了,这句话如此明确中肯。每个组件都需单独设计,使其卓绝超凡。有时候,设计师会将一些部分归为最不重要的内容,最终并不会对其引起重视。</p><p>11. 提高设计作品清晰度</p><p> </p><p>避免出现像素模糊的现象,尝试正确设置笔触效果和背景之间的对比度或背景颜色</p><p>除美学考量之外,有些共同的问题需要予以避免,从而创造出一个干净正确的作品。尝试提高设计清晰度时应注意以下几点:梯度条带、模糊的边缘、字体渲染选项(部分字体取决于字体大小,最好在特定的渲染模式下查看)以及与背景融合的笔触效果。</p><p>12. 整理如果你通过 Photoshop 进行设计,那么这点至关重要(结合网格使用)。无论项目有多大,有多少设计师参与其中,你都需要保证文件干净。这样就能保证不同部分都能轻松导出,从而提高设计流程的速度,并能处理与其他设计师共享的文件。</p><p>13. 设计最好的情况,但为最坏的情况做准备</p><p></p><p>谨记不同设备和尺寸大小上如何让你的设计发挥作用。</p><p>作 为设计师,我们的工作就是通过不同的限制解决问题。网页设计过程中,会遇到各种限制,包括概念和技术问题以及内容相关的问题。我们需要创建一个网 站,其不仅可以在理想状态下运行,同时也可以在最糟糕的环境下运行。例如,用户可使用相当小的屏幕查看网站,此时网站上的内容看起来支离破碎。</p><p>但是,鉴于我们展示设计作品的目的,我个人强烈建议为其创建最佳环境。因此我们将要显示最理想的内容量,同时以最佳浏览器尺寸进行展示,也就是用户最常用的环境。</p><p>14. 沉迷于设计,因爱生恨</p><p>如果你钻研设计,我保证你已经干过这种事。只要完成一项设计就会倍感自豪,设计已经成为生活的一部分了。还会截图,与其他设备比较,将其设为桌面背景,甚至打印出来挂在墙上。</p><p>整个过程中,我达到某个临界点,最终产生厌恶;我开始发现各种缺点和错误,然后进行修改。不喜欢自己以前的设计是成熟的表现,也就是说,你最终发现自己的问题。</p><p>15. 与客户交流前避免浪费太多时间设计概念</p><p>提交交互概念或设计外观与体验时,你需要确保你和客户尽快同步。初始概念通过审核后,你可以稍作放松,然后开始设计。</p><p>但是如果提交后初始概念后,并未深得客户的欢心,你就应该收集各种反馈,以便第二次提交的概念方案能够符合客户的要求。</p><p>16. 和你的开发者成为好友</p><p>纽约广告公司 HUGE 的 Rafael Mumme 就设计师如何更好地与开发者合作的提出的建议。</p><p>开 发者创意十足,而且热爱自己的工作,和你一样。但是他们并非总是在项目一开始就参与其中,而且大多时候,他们都是在概念设计敲定之后才开始参与设 计的,因此他们的创意工作就遭到了抹杀。这种流程是错误的;一些非常优秀的想法都是开发团队提出的。分享你的概念,你会惊喜地发现他们会把它变成更加美 观、更加便于设计。</p><p>17. 展示:说明时请将受众想象为四岁儿童</p><p>展示作品和设计作品一样重要。使用错误的展示方式,可能会埋没优秀的设计或者使其惨遭淘汰。谨记,受众第一次看到你的设计时,并不了解你了然于心的各个重点。</p><p>18. 肯定自己的创意,但不要成为其奴隶</p><p>了解何时宣传自己的创意,或是了解团队或客户何时会产生分歧,这里存在一个小小的临界点。作为设计师,你需要坚信自己的设计,但是你也应乐于接受他人意见,快速改变自己的创意以及展开后续调整。不要忘记条条大路通罗马。</p><p>19. 开发过程中跟进设计</p><p>如 果您在广告公司中工作,你必须明白,虽然你刚刚完成的一个项目已经投入开发,你不得不参加另一个新项目的设计,这是家常便饭。大家普遍认为 PSD 和样式表提交后就万事大吉了,这是不对的,其实一切还刚刚开始。如果你真的关心自己的设计和交互理念是否完全贯彻,可以实时与开发者友人沟通,并尽量提供 帮助,以便达到至臻至美的效果。</p><p>20. 逐步正在设计的作品</p><p></p><p>与大家分享样式表和正在设计的组件</p><p>作 为设计团队的一员,我们不仅希望看到最终的成品,同时也想看一看正在设计的作品。有时候,出于种种原因,项目最优秀的部分可能会被忽略,然后一直 存放在归档文件夹中。项目完成并获得客户/制作方认可后,可以着手进行改善,如有可能,可以创建案例研究,分析设计中的作品以及最终并未采用的作品。这有 助于帮助拓宽团队知识,同时你也能收集宝贵的反馈意见。</p><p>Claudio Guglieri 目前在纽约国际电子广告公司 B-Reel 就任艺术总监。之前在 Fantasy Interactive 任艺术总监,负责领导和制作客户端交互体验,如 Google、EA CNN、Nikelodeon、History Channel、Range Roverand Microsoft。</p>

阅读剩余部分 -

随机文章

最近回复

分类

其它

友情连接

推广链接