HOME 首頁
SERVICE 服務(wù)產(chǎn)品
XINMEITI 新媒體代運營
CASE 服務(wù)案例
NEWS 熱點資訊
ABOUT 關(guān)于我們
CONTACT 聯(lián)系我們
創(chuàng)意嶺
讓品牌有溫度、有情感
專注品牌策劃15年

    形式與設(shè)計原則(形式與設(shè)計原則的關(guān)系)

    發(fā)布時間:2023-03-03 18:40:07     稿源: 創(chuàng)意嶺    閱讀: 753        問大家

    大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關(guān)于形式與設(shè)計原則的問題,以下是小編對此問題的歸納整理,讓我們一起來看看吧。

    創(chuàng)意嶺作為行業(yè)內(nèi)優(yōu)秀的企業(yè),服務(wù)客戶遍布全球各地,相關(guān)業(yè)務(wù)請撥打電話:175-8598-2043,或添加微信:1454722008

    本文目錄:

    形式與設(shè)計原則(形式與設(shè)計原則的關(guān)系)

    一、簡述一下版式設(shè)計中“對比與調(diào)和”的形式法則是哪些?

    什么是版式設(shè)計?

    版式設(shè)計——根據(jù)目的把文字、插圖、標志等視覺設(shè)計的構(gòu)成要素,作美觀的功能性配置構(gòu)成。

    (左右滑動圖片)

    美術(shù)設(shè)計師面臨的問題并不是能否畫得好,而是

    • 能否把版面布局好。

    • 版式設(shè)計能夠強化形式和內(nèi)容的互動關(guān)系。

    • 把具體內(nèi)容與形式均勻調(diào)和,組建一個清新、完整的信息集合。

    • 版式設(shè)計的類型:

      對齊版式、集中版式、重疊版式、散狀版式、傾斜版式、自由版式

      版式設(shè)計的任務(wù):

    • ①準確、流暢、形象地傳達信息?!阌陂喿x

    • ②給讀者營造輕松的閱讀氛圍。

    • 版式設(shè)計與媒介

      創(chuàng)新版式:包含形式與內(nèi)容兩個方面。

    • 形式創(chuàng)新:即構(gòu)成元素與元素間的組合方式創(chuàng)新。

    • 內(nèi)容創(chuàng)新:是提煉、歸納、角度、觀點的變化。

    • 新媒介的版式設(shè)計

    • 新媒體版面設(shè)計注意信息的動態(tài)更新與交互的延續(xù)。

    • 新媒體是將聲音、文本、圖形、視頻和網(wǎng)絡(luò)連接融為一體,這種版式設(shè)計不再是簡單的構(gòu)成關(guān)系,而是多種信息模塊的串聯(lián)。

    • 版式設(shè)計需要擁有web的思維和理念,要考慮一條新聞或文章與其他信息的鏈接。

    • 版式設(shè)計的基本原則

      內(nèi)容與形式統(tǒng)一原則

    • 指表達主題的思想與呈現(xiàn)的形式要融為一體,內(nèi)容是“骨”,形式是“肉”。

    • 編輯內(nèi)容等級的構(gòu)建(按照內(nèi)容主次閱讀,在設(shè)計前要針對編排內(nèi)容建立等級。內(nèi)容等級能給閱讀者提供明確閱讀點關(guān)系,即版面內(nèi)容層次之分,便于讀者抓住精華,輕松地理解。)

    • 內(nèi)容等級建立是依據(jù)主題來分層,將同級內(nèi)容歸為一類,編寫出“等級大綱”。即將一級標題、二級標題、三級標題、正文等進行樹狀排列,不同級采用不同的字號、字型、色彩來區(qū)分,使整個作品按照主題形成次序。

    • 簡單與簡約兼顧原則

    • 簡約:采用具有代表性的文字、圖形和簡練的視覺符號,兼顧豐富的意義和多樣化的形式,在這個結(jié)構(gòu)中,所有細節(jié)不僅各得其所,而且毫不多余。

    • 局部與整體協(xié)調(diào)原則

      版式設(shè)計的視覺表現(xiàn)

      視覺流程:按照一定的順序觀察。

      視覺流程的表現(xiàn)形式:單向視覺流程、曲線視覺流程、導(dǎo)向視覺流程、散點視覺流程

      視覺流程的應(yīng)用方法:

      1) 通過文字大小和方向來創(chuàng)建視覺流程

    • 大字號:具有明顯的提示作用

    • 2) 通過圖片大小來規(guī)劃視覺流程

    • 圖片大小對比產(chǎn)生視覺焦點

    • 3) 通過顏色來建立視覺流程

    • 通常純度高的顏色比純度低的顏色更加明顯

    • 圖版構(gòu)成

    • 版面率:是版面和開本之間的比率。

    • 高版面率:滿版的設(shè)計給人活潑的感覺,同時信息量較多時,考慮讀者能夠獲得更多內(nèi)容。

    • 低版面率:版面給人安靜、穩(wěn)重的感覺,常在詩集、散文的版式上。

    • 版式設(shè)計的構(gòu)成與網(wǎng)格

      1、版式設(shè)計的構(gòu)成

      版式設(shè)計的形式美原則:對稱與均衡、對比與協(xié)調(diào)、節(jié)奏與韻律、秩序與變異、變化與統(tǒng)一、比例與適度六方面。

      對稱版式:讓人產(chǎn)生視覺與心理上的完美、寧靜、和諧、莊重等感覺。

      均衡版式:是運用大小、色彩、位置等差別來形成視覺上的均等。它是同形不同量的設(shè)計,通過展現(xiàn)差異化的對稱,實現(xiàn)構(gòu)圖的變化與統(tǒng)一。

      對比:又稱對照,就是在差異的形態(tài)元素放在一起進行比較,它能使主題更加鮮明,視覺效果更加活躍。

      協(xié)調(diào):就對比而言是融合,是差異化的減少,是適用適合、統(tǒng)一、消融來減少元素之間的差距,形成統(tǒng)一的視覺感覺。

      節(jié)奏:輕重緩急的變化和重復(fù)。是按照一定的規(guī)律,重復(fù)、連續(xù)地排列,形成一種律動的感覺。

      韻律:就是節(jié)奏中加入變化等情感。

      我們都是時間旅行者,為了尋找生命中的光,終其一生,行走在漫長的旅途上。

      變異:是秩序中添加變化,讓簡單的秩序變得復(fù)雜,構(gòu)成規(guī)則的突破,是版面中的視覺焦點。

      變化:是發(fā)生改變,擴大各種事物的差別,以造成感覺上的突變。

      版面上實施變化的主要手法是對比。

      版式設(shè)計中,采用色彩、大小、造型、比例、位置、肌理等綜合對比來建立豐富的情感。但這些變化必須達到高度統(tǒng)一,產(chǎn)生一個中心的視覺形象,這樣才能構(gòu)成一個有機的整體。

      變化與統(tǒng)一反映了客觀事物本身的特點,即對立統(tǒng)一的關(guān)系。變化是尋找各部分之間的差異,統(tǒng)一是尋求他們之間的內(nèi)在聯(lián)系。沒有變化,則單調(diào)乏味和缺少生命力;沒有統(tǒng)一,則會顯得雜亂無章,缺乏和諧與秩序。

    • 統(tǒng)一:是發(fā)揮物質(zhì)和形式中多種因素的共性。最能使版面達到統(tǒng)一的方法是保持版面的構(gòu)成要素要少一些,而組合的形式卻要豐富些。統(tǒng)一的手法可借助均衡、調(diào)和、秩序等形式法則。

    • 比例:它表現(xiàn)為部分與部分或部分與全體之間的數(shù)目關(guān)系。

    • 適度:是版面的局部與人的生理或習(xí)性的某些特定標準之間的關(guān)系,也就是排版要從視覺上適合讀者的視覺心理。

    • 2、版式設(shè)計中的點、線、面

      點、線、面是抽象的符號,它們在版面中不僅具有簡單的造型,還有經(jīng)過藝術(shù)處理后豐富的形式延展。它們可以表達自身的含義和特殊的內(nèi)涵。所以設(shè)計師要理解點、線、面自身的藝術(shù)語言。

    • 點:在版面中突出主題,形成視覺“亮點”,起到引人注目的作用。

    • 線:在版面中的線形態(tài)多樣,有直線、曲線、虛線、明線、暗線等,與點相比它們有濃厚的情感。線的空間作用:可以分割版面,為了突出重點、區(qū)分層次、建立視覺次序,采用線把不同類型和不同層次的內(nèi)容分隔開。

    • 面:相對于線和點而言面積大,擁有長度和寬度。

    • 3、版式設(shè)計的網(wǎng)格

      網(wǎng)格設(shè)計:強調(diào)秩序,比例、清晰和嚴密等感覺,非常理性。它是應(yīng)用比例關(guān)系把版面分成若干尺寸的網(wǎng)格,再把設(shè)計素材安放在其中,是規(guī)范版面中文字和圖形元素的一種技巧。

      4、版式設(shè)計的形式

      文字的編排形式

    • (1)文字可讀原則:字體清晰性、位置合理性、對齊編排性

    • (2)文本分級規(guī)則:根據(jù)信息主次把版面中的文字分成等級,目的是凸現(xiàn)主題,促使重點信息能瞬間吸引讀者的目光

    • (3)文本斷句規(guī)則

    • 文字編排的特點

    • (1)醒目: 更好的傳遞信息

    • (2)愉悅:傳遞情感

    • (3)創(chuàng)新:突出個性特色,創(chuàng)造與眾不同的編排形式,給人耳目一新的觀感

    • (4)協(xié)調(diào):文字字體字號協(xié)調(diào)

    • 版式設(shè)計中的圖片

    • (1)圖片分類(功能、色調(diào)、構(gòu)圖)

    • (2)圖片的裁切

    • (3)怎樣裁切圖片

    • 圖片與版式

    • (1)圖片編排方式分類(規(guī)則組合式、自由組合方式)

    • (2)圖片外形與版面的關(guān)系(圖片外輪廓的分類、圖片外形與版面的關(guān)系)

    • 圖片與文字的編排

    • (1)圖片與文字的編排原則(不要用圖片隨意切斷文本、文字添加到圖片上要注重協(xié)調(diào)、圖片與文字邊線統(tǒng)一)

    • (2)圖片與文字的編排方式(圖片與文字并置方式、圖片與文字重置方式、圖片與文字對齊方式)

    二、設(shè)計模式的設(shè)計原則

    為什么要提倡“Design Pattern呢?根本原因是為了代碼復(fù)用,增加可維護性。那么怎么才能實現(xiàn)代碼復(fù)用呢?面向?qū)ο笥袔讉€原則:單一職責原則 (Single Responsiblity Principle SRP)開閉原則(Open Closed Principle,OCP)、里氏代換原則(Liskov Substitution Principle,LSP)、依賴倒轉(zhuǎn)原則(Dependency Inversion Principle,DIP)、接口隔離原則(Interface Segregation Principle,ISP)、合成/聚合復(fù)用原則(Composite/Aggregate Reuse Principle,CARP)、最小知識原則(Principle of Least Knowledge,PLK,也叫迪米特法則)。開閉原則具有理想主義的色彩,它是面向?qū)ο笤O(shè)計的終極目標。其他幾條,則可以看做是開閉原則的實現(xiàn)方法。

    設(shè)計模式就是實現(xiàn)了這些原則,從而達到了代碼復(fù)用、增加可維護性的目的。 此原則是由Bertrand Meyer提出的。原文是:“Software entities should be open for extension,but closed for modification”。就是說模塊應(yīng)對擴展開放,而對修改關(guān)閉。模塊應(yīng)盡量在不修改原(是“原”,指原來的代碼)代碼的情況下進行擴展。那么怎么擴展呢?我們看工廠模式“factory pattern”:假設(shè)中關(guān)村有一個賣盜版盤和毛片的小子,我們給他設(shè)計一“光盤銷售管理軟件”。我們應(yīng)該先設(shè)計一“光盤”接口。如圖:

    [pre]

    ______________

    |<>|

    | 光盤 |

    |_____________|

    |+賣() |

    | |

    |_____________|

    [/pre]

    而盜版盤和毛片是其子類。小子通過“DiscFactory”來管理這些光盤。代碼為: public class DiscFactory{public static 光盤getDisc(Stringname){        return(光盤)Class.forName(name).newInstance();    }}有人要買盜版盤,怎么實現(xiàn)呢? public class 小子{public static void main(String[] args){光盤 d = DiscFactory.getDisc(盜版盤);d.賣();}}如果有一天,這小子良心發(fā)現(xiàn)了,開始賣正版軟件。沒關(guān)系,我們只要再創(chuàng)建一個“光盤”的子類“正版軟件”就可以了,不需要修改原結(jié)構(gòu)和代碼。怎么樣?對擴展開放,對修改關(guān)閉——“開閉原則”。

    工廠模式是對具體產(chǎn)品進行擴展,有的項目可能需要更多的擴展性,要對這個“工廠”也進行擴展,那就成了“抽象工廠模式”。 合成/聚合復(fù)用原則(Composite/Aggregate Reuse Principle,CARP)經(jīng)常又叫做合成復(fù)用原則。合成/聚合復(fù)用原則就是在一個新的對象里面使用一些已有的對象,使之成為新對象的一部分;新的對象通過向這些對象的委派達到復(fù)用已有功能的目的。它的設(shè)計原則是:要盡量使用合成/聚合,盡量不要使用繼承。

    就是說要少用繼承,多用合成關(guān)系來實現(xiàn)。我曾經(jīng)這樣寫過程序:有幾個類要與數(shù)據(jù)庫打交道,就寫了一個數(shù)據(jù)庫操作的類,然后別的跟數(shù)據(jù)庫打交道的類都繼承這個。結(jié)果后來,我修改了數(shù)據(jù)庫操作類的一個方法,各個類都需要改動。“牽一發(fā)而動全身”!面向?qū)ο笫且巡▌酉拗圃诒M量小的范圍。

    在Java中,應(yīng)盡量針對Interface編程,而非實現(xiàn)類。這樣,更換子類不會影響調(diào)用它方法的代碼。要讓各個類盡可能少的跟別人聯(lián)系,“不要與陌生人說話”。這樣,城門失火,才不至于殃及池魚。擴展性和維護性才能提高。 設(shè)計模式分為三種類型,共23種。 創(chuàng)建型模式:單例模式、抽象工廠模式、建造者模式、工廠模式、原型模式。 結(jié)構(gòu)型模式:適配器模式、橋接模式、裝飾模式、組合模式、外觀模式、享元模式、代理模式。 行為型模式:模版方法模式、命令模式、迭代器模式、觀察者模式、中介者模式、備忘錄模式、解釋器模式(Interpreter模式)、狀態(tài)模式、策略模式、職責鏈模式(責任鏈模式)、訪問者模式。 按字典序排列簡介如下。

    Abstract Factory(抽象工廠模式):提供一個創(chuàng)建一系列相關(guān)或相互依賴對象的接口,而無需指定它們具體的類。

    Adapter(適配器模式):將一個類的接口轉(zhuǎn)換成客戶希望的另外一個接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些類可以一起工作。

    Bridge(橋接模式):將抽象部分與它的實現(xiàn)部分分離,使它們都可以獨立地變化。

    Builder(建造者模式):將一個復(fù)雜對象的構(gòu)建與它的表示分離,使得同樣的構(gòu)建過程可以創(chuàng)建不同的表示。

    Chain of Responsibility(責任鏈模式):為解除請求的發(fā)送者和接收者之間耦合,而使多個對象都有機會處理這個請求。將這些對象連成一條鏈,并沿著這條鏈傳遞該請求,直到有一個對象處理它。

    Command(命令模式):將一個請求封裝為一個對象,從而使你可用不同的請求對客戶進行參數(shù)化;對請求排隊或記錄請求日志,以及支持可取消的操作。

    Composite(組合模式):將對象組合成樹形結(jié)構(gòu)以表示“部分-整體”的層次結(jié)構(gòu)。它使得客戶對單個對象和復(fù)合對象的使用具有一致性。

    Decorator(裝飾模式):動態(tài)地給一個對象添加一些額外的職責。就擴展功能而言, 它比生成子類方式更為靈活。

    Facade(外觀模式):為子系統(tǒng)中的一組接口提供一個一致的界面,F(xiàn)acade模式定義了一個高層接口,這個接口使得這一子系統(tǒng)更加容易使用。

    Factory Method(工廠模式):定義一個用于創(chuàng)建對象的接口,讓子類決定將哪一個類實例化。Factory Method使一個類的實例化延遲到其子類。

    Flyweight(享元模式):運用共享技術(shù)有效地支持大量細粒度的對象。

    Interpreter(解析器模式):給定一個語言, 定義它的文法的一種表示,并定義一個解釋器, 該解釋器使用該表示來解釋語言中的句子。

    Iterator(迭代器模式):提供一種方法順序訪問一個聚合對象中各個元素,而又不需暴露該對象的內(nèi)部表示。

    Mediator(中介模式):用一個中介對象來封裝一系列的對象交互。中介者使各對象不需要顯式地相互引用,從而使其耦合松散,而且可以獨立地改變它們之間的交互。

    Memento(備忘錄模式):在不破壞封裝性的前提下,捕獲一個對象的內(nèi)部狀態(tài),并在該對象之外保存這個狀態(tài)。這樣以后就可將該對象恢復(fù)到保存的狀態(tài)。

    Observer(觀察者模式):定義對象間的一種一對多的依賴關(guān)系,以便當一個對象的狀態(tài)發(fā)生改變時,所有依賴于它的對象都得到通知并自動刷新。

    Prototype(原型模式):用原型實例指定創(chuàng)建對象的種類,并且通過拷貝這個原型來創(chuàng)建新的對象。

    Proxy(代理模式):為其他對象提供一個代理以控制對這個對象的訪問。

    Singleton(單例模式):保證一個類僅有一個實例,并提供一個訪問它的全局訪問點。 單例模式是最簡單的設(shè)計模式之一,但是對于Java的開發(fā)者來說,它卻有很多缺陷。在九月的專欄中,David Geary探討了單例模式以及在面對多線程(multi-threading)、類裝載器(class loaders)和序列化(serialization)時如何處理這些缺陷。

    State(狀態(tài)模式):允許一個對象在其內(nèi)部狀態(tài)改變時改變它的行為。對象看起來似乎修改了它所屬的類。

    Strategy(策略模式):定義一系列的算法,把它們一個個封裝起來, 并且使它們可相互替換。本模式使得算法的變化可獨立于使用它的客戶。

    Template Method(模板方法模式):定義一個操作中的算法的骨架,而將一些步驟延遲到子類中。Template Method使得子類可以不改變一個算法的結(jié)構(gòu)即可重定義該算法的某些特定步驟。

    Visitor(訪問者模式):表示一個作用于某對象結(jié)構(gòu)中的各元素的操作。它使你可以在不改變各元素的類的前提下定義作用于這些元素的新操作。

    從下一節(jié)開始,詳細描述以下每一種設(shè)計模式。 意圖

    定義一個用于創(chuàng)建對象的接口,讓子類決定實例化哪一個類。Factory Method 使一個類的實例化延遲到其子類。

    適用性 當一個類不知道它所必須創(chuàng)建的對象的類的時候。 當一個類希望由它的子類來指定它所創(chuàng)建的對象的時候。 當類將創(chuàng)建對象的職責委托給多個幫助子類中的某一個,并且你希望將哪一個幫助子類是代理者這一信息局部化的時候。 意圖

    提供一個創(chuàng)建一系列相關(guān)或相互依賴對象的接口,而無需指定它們具體的類。

    適用性 一個系統(tǒng)要獨立于它的產(chǎn)品的創(chuàng)建、組合和表示時。 一個系統(tǒng)要由多個產(chǎn)品系列中的一個來配置時。 當你要強調(diào)一系列相關(guān)的產(chǎn)品對象的設(shè)計以便進行聯(lián)合使用時。 當你提供一個產(chǎn)品類庫,而只想顯示它們的接口而不是實現(xiàn)時。 意圖

    將一個復(fù)雜對象的構(gòu)建與它的表示分離,使得同樣的構(gòu)建過程可以創(chuàng)建不同的表示。

    適用性 當創(chuàng)建復(fù)雜對象的算法應(yīng)該獨立于該對象的組成部分以及它們的裝配方式時。 當構(gòu)造過程必須允許被構(gòu)造的對象有不同的表示時。 意圖

    用原型實例指定創(chuàng)建對象的種類,并且通過拷貝這些原型創(chuàng)建新的對象。

    適用性 當要實例化的類是在運行時刻指定時,例如,通過動態(tài)裝載;或者 為了避免創(chuàng)建一個與產(chǎn)品類層次平行的工廠類層次時;或者 當一個類的實例只能有幾個不同狀態(tài)組合中的一種時。建立相應(yīng)數(shù)目的原型并克隆它們可能比每次用合適的狀態(tài)手工實例化該類更方便一些。 意圖

    保證一個類僅有一個實例,并提供一個訪問它的全局訪問點。

    適用性 當類只能有一個實例而且客戶可以從一個眾所周知的訪問點訪問它時。 當這個唯一實例應(yīng)該是通過子類化可擴展的,并且客戶應(yīng)該無需更改代碼就能使用一個擴展的實例時。 意圖

    將一個類的接口轉(zhuǎn)換成另外一個客戶希望的接口。Adapter 模式使得原本由于接口不兼容而不能一起工作的那些類可以一起工作。

    適用性 你想使用一個已經(jīng)存在的類,而它的接口不符合你的需求。 你想創(chuàng)建一個可以復(fù)用的類,該類可以與其他不相關(guān)的類或不可預(yù)見的類(即那些接口可能不一定兼容的類)協(xié)同工作。 (僅適用于對象Adapter)你想使用一些已經(jīng)存在的子類,但是不可能對每一個都進行子類化以匹配它們的接口。對象適配器可以適配它的父類接口。 意圖

    將抽象部分與它的實現(xiàn)部分分離,使它們都可以獨立地變化。

    適用性 你不希望在抽象和它的實現(xiàn)部分之間有一個固定的綁定關(guān)系。例如這種情況可能是因為,在程序運行時刻實現(xiàn)部分應(yīng)可以被選擇或者切換。 類的抽象以及它的實現(xiàn)都應(yīng)該可以通過生成子類的方法加以擴充。這時B r i d g e 模式使你可以對不同的抽象接口和實現(xiàn)部分進行組合,并分別對它們進行擴充。 對一個抽象的實現(xiàn)部分的修改應(yīng)對客戶不產(chǎn)生影響,即客戶的代碼不必重新編譯。 (C++)你想對客戶完全隱藏抽象的實現(xiàn)部分。在C++中,類的表示在類接口中是可見的。 有許多類要生成。這樣一種類層次結(jié)構(gòu)說明你必須將一個對象分解成兩個部分。Rumbaugh稱這種類層次結(jié)構(gòu)為“嵌套的普化”(nested generalizations )。 你想在多個對象間共享實現(xiàn)(可能使用引用計數(shù)),但同時要求客戶并不知道這一點。一個簡單的例子便是Coplien的String類,在這個類中多個對象可以共享同一個字符串表示(StringRep)。 意圖

    將對象組合成樹形結(jié)構(gòu)以表示“部分-整體”的層次結(jié)構(gòu)。C o m p o s i t e 使得用戶對單個對象和組合對象的使用具有一致性。

    適用性 你想表示對象的部分—整體層次結(jié)構(gòu)。 你希望用戶忽略組合對象與單個對象的不同,用戶將統(tǒng)一地使用組合結(jié)構(gòu)中的所有對象。 意圖

    動態(tài)地給一個對象添加一些額外的職責。就增加功能來說,Decorator模式相比生成子類更為靈活。

    適用性 在不影響其他對象的情況下,以動態(tài)、透明的方式給單個對象添加職責。 處理那些可以撤消的職責。 當不能采用生成子類的方法進行擴充時。一種情況是,可能有大量獨立的擴展,為支持每一種組合將產(chǎn)生大量的子類,使得子類數(shù)目呈爆炸性增長。另一種情況可能是因為類定義被隱藏,或類定義不能用于生成子類。 意圖

    為子系統(tǒng)中的一組接口提供一個一致的界面,F(xiàn)acade模式定義了一個高層接口,這個接口使得這一子系統(tǒng)更加容易使用。

    適用性 當你要為一個復(fù)雜子系統(tǒng)提供一個簡單接口時。子系統(tǒng)往往因為不斷演化而變得越來越復(fù)雜。大多數(shù)模式使用時都會產(chǎn)生更多更小的類。這使得子系統(tǒng)更具可重用性,也更容易對子系統(tǒng)進行定制,但這也給那些不需要定制子系統(tǒng)的用戶帶來一些使用上的困難。Facade可以提供一個簡單的缺省視圖,這一視圖對大多數(shù)用戶來說已經(jīng)足夠,而那些需要更多的可定制性的用戶可以越過Facade層。 客戶程序與抽象類的實現(xiàn)部分之間存在著很大的依賴性。引入Facade將這個子系統(tǒng)與客戶以及其他的子系統(tǒng)分離,可以提高子系統(tǒng)的獨立性和可移植性。 當你需要構(gòu)建一個層次結(jié)構(gòu)的子系統(tǒng)時,使用門面模式定義子系統(tǒng)中每層的入口點。如果子系統(tǒng)之間是相互依賴的,你可以讓它們僅通過Facade進行通訊,從而簡化了它們之間的依賴關(guān)系。 意圖

    運用共享技術(shù)有效地支持大量細粒度的對象。

    適用性 一個應(yīng)用程序使用了大量的對象。 完全由于使用大量的對象,造成很大的存儲開銷。 對象的大多數(shù)狀態(tài)都可變?yōu)橥獠繝顟B(tài)。 如果刪除對象的外部狀態(tài),那么可以用相對較少的共享對象取代很多組對象。 應(yīng)用程序不依賴于對象標識。由于Flyweight對象可以被共享,對于概念上明顯有別的對象,標識測試將返回真值。 意圖

    為其他對象提供一種代理以控制對這個對象的訪問。

    適用性

    在需要用比較通用和復(fù)雜的對象指針代替簡單的指針的時候,使用Proxy模式。下面是一 些可以使用Proxy模式常見情況: 遠程代理(Remote Proxy)為一個對象在不同的地址空間提供局部代表。 虛代理(Virtual Proxy)根據(jù)需要創(chuàng)建開銷很大的對象。 保護代理(Protection Proxy)控制對原始對象的訪問。保護代理用于對象應(yīng)該有不同 的訪問權(quán)限的時候。 智能指引(Smart Reference)取代了簡單的指針,它在訪問對象時執(zhí)行一些附加操作。 它的典型用途包括: 對指向?qū)嶋H對象的引用計數(shù),這樣當該對象沒有引用時,可以自動釋放它(也稱為SmartPointers)。 當?shù)谝淮我靡粋€持久對象時,將它裝入內(nèi)存。 在訪問一個實際對象前,檢查是否已經(jīng)鎖定了它,以確保其他對象不能改變它。 意圖

    使多個對象都有機會處理請求,從而避免請求的發(fā)送者和接收者之間的耦合關(guān)系。將這些對象連成一條鏈,并沿著這條鏈傳遞該請求,直到有一個對象處理它為止。

    適用性 有多個的對象可以處理一個請求,哪個對象處理該請求運行時刻自動確定。 你想在不明確指定接收者的情況下,向多個對象中的一個提交一個請求。 可處理一個請求的對象集合應(yīng)被動態(tài)指定。 意圖

    將一個請求封裝為一個對象,從而使你可用不同的請求對客戶進行參數(shù)化;對請求排隊或記錄請求日志,以及支持可取消的操作

    適用性 像上面討論的MenuItem對象那樣,抽象出待執(zhí)行的動作以參數(shù)化某對象。你可用過程語言中的回調(diào)(callback)函數(shù)表達這種參數(shù)化機制。所謂回調(diào)函數(shù)是指函數(shù)先在某處注冊,而它將在稍后某個需要的時候被調(diào)用。Command模式是回調(diào)機制的一個面向?qū)ο蟮奶娲贰? 在不同的時刻指定、排列和執(zhí)行請求。一個Command對象可以有一個與初始請求無關(guān)的生存期。如果一個請求的接收者可用一種與地址空間無關(guān)的方式表達,那么就可將負責該請求的命令對象傳送給另一個不同的進程并在那兒實現(xiàn)該請求。 支持取消操作。Command的Execute操作可在實施操作前將狀態(tài)存儲起來,在取消操作時這個狀態(tài)用來消除該操作的影響。Command接口必須添加一個Execute操作,該操作取消上一次Execute調(diào)用的效果。執(zhí)行的命令被存儲在一個歷史列表中。可通過向后和向前遍歷這一列表并分別調(diào)用Unexecute和Execute來實現(xiàn)重數(shù)不限的“取消”和“重做”。 支持修改日志,這樣當系統(tǒng)崩潰時,這些修改可以被重做一遍。在Command接口中添加裝載操作和存儲操作,可以用來保持變動的一個一致的修改日志。從崩潰中恢復(fù)的過程包括從磁盤中重新讀入記錄下來的命令并用Execute操作重新執(zhí)行它們。 用構(gòu)建在原語操作上的高層操作構(gòu)造一個系統(tǒng)。這樣一種結(jié)構(gòu)在支持事務(wù)(Transaction)的信息系統(tǒng)中很常見。一個事務(wù)封裝了對數(shù)據(jù)的一組變動。Command模式提供了對事務(wù)進行建模的方法。Command有一個公共的接口,使得你可以用同一種方式調(diào)用所有的事務(wù)。同時使用該模式也易于添加新事務(wù)以擴展系統(tǒng)。 意圖

    給定一個語言,定義它的文法的一種表示,并定義一個解釋器,這個解釋器使用該表示來解釋語言中的句子。

    適用性 當有一個語言需要解釋執(zhí)行, 并且你可將該語言中的句子表示為一個抽象語法樹時,可使用解釋器模式。而當存在以下情況時該模式效果最好: 該文法簡單對于復(fù)雜的文法, 文法的類層次變得龐大而無法管理。此時語法分析程序生成器這樣的工具是更好的選擇。它們無需構(gòu)建抽象語法樹即可解釋表達式, 這樣可以節(jié)省空間而且還可能節(jié)省時間。 效率不是一個關(guān)鍵問題最高效的解釋器通常不是通過直接解釋語法分析樹實現(xiàn)的, 而是首先將它們轉(zhuǎn)換成另一種形式。例如,正則表達式通常被轉(zhuǎn)換成狀態(tài)機。但即使在這種情況下, 轉(zhuǎn)換器仍可用解釋器模式實現(xiàn), 該模式仍是有用的。 意圖

    提供一種方法順序訪問一個聚合對象中各個元素, 而又不需暴露該對象的內(nèi)部表示。

    適用性 訪問一個聚合對象的內(nèi)容而無需暴露它的內(nèi)部表示。 支持對聚合對象的多種遍歷。 為遍歷不同的聚合結(jié)構(gòu)提供一個統(tǒng)一的接口(即, 支持多態(tài)迭代)。 意圖

    用一個中介對象來封裝一系列的對象交互。中介者使各對象不需要顯式地相互引用,從而使其耦合松散,而且可以獨立地改變它們之間的交互。

    適用性 一組對象以定義良好但是復(fù)雜的方式進行通信。產(chǎn)生的相互依賴關(guān)系結(jié)構(gòu)混亂且難以理解。 一個對象引用其他很多對象并且直接與這些對象通信,導(dǎo)致難以復(fù)用該對象。 想定制一個分布在多個類中的行為,而又不想生成太多的子類。 意圖

    在不破壞封裝性的前提下,捕獲一個對象的內(nèi)部狀態(tài),并在該對象之外保存這個狀態(tài)。這樣以后就可將該對象恢復(fù)到保存的狀態(tài)。

    適用性 必須保存一個對象在某一個時刻的(部分)狀態(tài), 這樣以后需要時它才能恢復(fù)到先前的狀態(tài)。 如果一個用接口來讓其它對象直接得到這些狀態(tài),將會暴露對象的實現(xiàn)細節(jié)并破壞對象的封裝性。 意圖

    定義對象間的一種一對多的依賴關(guān)系,當一個對象的狀態(tài)發(fā)生改變時, 所有依賴于它的對象都得到通知并被自動更新。

    適用性 當一個抽象模型有兩個方面, 其中一個方面依賴于另一方面。將這二者封裝在獨立的對象中以使它們可以各自獨立地改變和復(fù)用。 當對一個對象的改變需要同時改變其它對象, 而不知道具體有多少對象有待改變。 當一個對象必須通知其它對象,而它又不能假定其它對象是誰。換言之,你不希望這些對象是緊密耦合的。 意圖

    允許一個對象在其內(nèi)部狀態(tài)改變時改變它的行為。對象看起來似乎修改了它的類。

    適用性 一個對象的行為取決于它的狀態(tài), 并且它必須在運行時刻根據(jù)狀態(tài)改變它的行為。 一個操作中含有龐大的多分支的條件語句,且這些分支依賴于該對象的狀態(tài)。這個狀態(tài)通常用一個或多個枚舉常量表示。通常, 有多個操作包含這一相同的條件結(jié)構(gòu)。State模式將每一個條件分支放入一個獨立的類中。這使得你可以根據(jù)對象自身的情況將對象的狀態(tài)作為一個對象,這一對象可以不依賴于其他對象而獨立變化。 意圖

    定義一系列的算法,把它們一個個封裝起來, 并且使它們可相互替換。本模式使得算法可獨立于使用它的客戶而變化。

    適用性 許多相關(guān)的類僅僅是行為有異?!安呗浴碧峁┝艘环N用多個行為中的一個行為來配置一個類的方法。 需要使用一個算法的不同變體。例如,你可能會定義一些反映不同的空間/時間權(quán)衡的算法。當這些變體實現(xiàn)為一個算法的類層次時,可以使用策略模式。 算法使用客戶不應(yīng)該知道的數(shù)據(jù)??墒褂貌呗阅J揭员苊獗┞稄?fù)雜的、與算法相關(guān)的數(shù)據(jù)結(jié)構(gòu)。 一個類定義了多種行為, 并且這些行為在這個類的操作中以多個條件語句的形式出現(xiàn)。將相關(guān)的條件分支移入它們各自的Strategy類中以代替這些條件語句。 意圖

    定義一個操作中的算法的骨架,而將一些步驟延遲到子類中。Te m p l a t e M e t h o d 使得子類可以不改變一個算法的結(jié)構(gòu)即可重定義該算法的某些特定步驟。

    適用性 一次性實現(xiàn)一個算法的不變的部分,并將可變的行為留給子類來實現(xiàn)。 各子類中公共的行為應(yīng)被提取出來并集中到一個公共父類中以避免代碼重復(fù)。這是Opdyke和Johnson所描述過的“重分解以一般化”的一個很好的例子。首先識別現(xiàn)有代碼中的不同之處,并且將不同之處分離為新的操作。最后,用一個調(diào)用這些新的操作的模板方法來替換這些不同的代碼。 控制子類擴展。模板方法只在特定點調(diào)用“hook”操作,這樣就只允許在這些點進行擴展。 意圖

    表示一個作用于某對象結(jié)構(gòu)中的各元素的操作。它使你可以在不改變各元素的類的前提下定義作用于這些元素的新操作。

    適用性 一個對象結(jié)構(gòu)包含很多類對象,它們有不同的接口,而你想對這些對象實施一些依賴于其具體類的操作。 需要對一個對象結(jié)構(gòu)中的對象進行很多不同的并且不相關(guān)的操作,而你想避免讓這些操作“污染”這些對象的類。Visitor使得你可以將相關(guān)的操作集中起來定義在一個類中。當該對象結(jié)構(gòu)被很多應(yīng)用共享時,用Visitor模式讓每個應(yīng)用僅包含需要用到的操作。 定義對象結(jié)構(gòu)的類很少改變,但經(jīng)常需要在此結(jié)構(gòu)上定義新的操作。改變對象結(jié)構(gòu)類需要重定義對所有訪問者的接口,這可能需要很大的代價。如果對象結(jié)構(gòu)類經(jīng)常改變,那么可能還是在這些類中定義這些操作較好。

    形式與設(shè)計原則(形式與設(shè)計原則的關(guān)系)

    三、交互設(shè)計原則及規(guī)則有哪些?

    1、交互設(shè)計原則及規(guī)則——有道德(不要傷害或改善別人的處境)

    交互產(chǎn)品是為了做事情而設(shè)計的,所以交互設(shè)計的原則和規(guī)則應(yīng)該確保產(chǎn)品做好事而不傷害人,以達到一定的目的。

    2、交互設(shè)計原則及規(guī)則——意圖(幫助用戶實現(xiàn)他們的目標或愿望)

    交互式用戶界面設(shè)計是基于對用戶的目標和動機的理解,目標用戶界面設(shè)計不能向用戶傳遞錯誤或模棱兩可的信息。例如,很多作品用按鈕來表達焦點。實際上,看起來像按鈕的東西是不能點擊的,所以這種方法是錯誤的。

    3、交互設(shè)計原則及規(guī)則——務(wù)實(實現(xiàn)客戶目標)

    在完成一項工作的過程中,考慮業(yè)務(wù)目標、技術(shù)需求和限制因素是很重要的,這些因素會讓您覺得如果沒有客戶的輸入就無法完成這項工作。

    4、交互設(shè)計原則及規(guī)則——典雅(方案簡單完整,內(nèi)部一致,適合青春情懷)

    對于優(yōu)秀的用戶界面設(shè)計培訓(xùn)師來說,少即是多。根據(jù)角色的心理模型,用戶界面設(shè)計者應(yīng)該盡量減少形式和行為的增加。好的UI設(shè)計應(yīng)該給人一種整體的感覺,所有的部分都是平衡和諧的,而糟糕的UI設(shè)計通??雌饋硐袷瞧礈愒谝黄鸬?。在交互設(shè)計的原則和規(guī)則方面,他們的工作集中在UI設(shè)計的組織以及視覺線索和用戶行為交流的使用方式。

    隨著許多產(chǎn)品的大眾化,有必要考慮使用非專業(yè)人員。從用戶的角度來看,交互設(shè)計原則及規(guī)則是一種使產(chǎn)品易于使用、高效、愉悅的技術(shù)。它致力于了解目標用戶及其期望,了解彼此在與產(chǎn)品互動時的行為,了解人的心理和行為特征。環(huán)球網(wǎng)校將會持續(xù)更新ui設(shè)計的相關(guān)資訊及技巧,可以點擊本站的其他文章進行學(xué)習(xí)。

    四、汽車空調(diào)系統(tǒng)的車身布置形式的設(shè)計原則

    汽車空調(diào)系統(tǒng)的車身布置形式的設(shè)計原則如下:

    1、盡可能縮短冷風(fēng)管道的長度,以降低能耗。

    2、在可靠運行的前提下盡可能簡單緊湊。

    3、應(yīng)使車內(nèi)具有較好的氣流。

    以上就是關(guān)于形式與設(shè)計原則相關(guān)問題的回答。希望能幫到你,如有更多相關(guān)問題,您也可以聯(lián)系我們的客服進行咨詢,客服也會為您講解更多精彩的知識和內(nèi)容。


    推薦閱讀:

    vi的設(shè)計包括哪些內(nèi)容(vi的設(shè)計包括哪些內(nèi)容和形式)

    網(wǎng)絡(luò)營銷有哪些展現(xiàn)形式(網(wǎng)絡(luò)營銷的表現(xiàn)形式有哪些)

    新的廣告形式有哪些(新的廣告形式有哪些特點)

    vi使用

    銷售計劃實施方案范文(銷售計劃實施方案范文模板)