Pages

Showing posts with label Design. Show all posts
Showing posts with label Design. Show all posts

Saturday, April 14, 2012

Design Principle

1. Separating what changes from what stays the same
   - Take the parts that vary and encapsulate them, so that later you can alter or extend the parts that vary without affecting those that don't.
Example:  Strategy pattern

2. Program to an interface, not an implementation.
    "program  to an interface" really means program to a supertype (usually an abstract class or interface)." The point is to exploit polymorphism by programming to a supertype so that the actual runtime object isn't lock into the code.

3. Favor composition over inheritance
Creating systems using composition gives you a lot more flexibility. Not only does it let you encapsulate a family of algorithms into their own set of classes, but it also lets you change behavior at runtime  as long as the object you are composing with implements the correct behaior interface.

4. Open for Extension, Close for modification
The goal is to allow classes to be easily extended to incorporate new behavior without modifying existing code.

Be careful when choosing the areas of code that need to be extended; applying the Open-Closed Principle EVERYWHERE is wasteful, unnecessary, and can lead to complex, hard to understand code.

example: decorator pattern

5. Dependency Inversion Principle
    Depend upon abstractions. Do not depend upon concrete classes.
    It suggests that the high-level components should not depend on low-level components; rather, they should both depend on abstractions. A "high-level" component is a class with behavior defined in terms of other, "low level" components. For example, PizzaStore is a high-level component because its behavior is defined in terms of pizzas - it creates all the different pizza objects, prepares, bakes, cuts and boxes them, while the pizzas it uses are low-level components.

example: factory pattern

a few guidelines to help follow the principle
  • No variable should hold a reference to a concrete class.  
  • - If you use new, you'll be holding a reference to a concrete class. Use a factory to get around that.
  • No class should derive from a concrete class. 
  • - If you derive from a concrete class, you're depending on a concrete class. Derive from an abstraction, like an interface or an abstract class.
  • No method should override an implemented method of any of its bass classes.
  • - If you override an implemented method, then your base class wasn't really an abstraction to start with. Those methods implemented in the base class are meant to be shared by all your subclasses.







Sunday, February 12, 2012

40 Typeface Combinations in Web Design

When it comes to prints or Web Design, typography is one of the most important part. So selectng the right type of typography for your web design is one of the most crucial part. Keeping the small textured detail in mind while designing a website can sometimes be enough to get amazing results. A good combination of typeface can enhance the look of your website a lot! In websites, you can use typography in many forms: big bold headers, simple and clean menus and explanatory text etc.
So today we have 40 Examples of Amazing Typeface Combinations in Web Design. Check them out and get inspired!


Trade Gothic and Neutraface.
Timberland Women


Caslon and Helvetica.
Hermetik


Helvetica Neue and Museo.
Polaroid


Droid Serif and Helvetica.
Protein


FS Sinclair, Vitesse Sans and Vitesse.
Switch to Virgin America


Clarendon and Arial.
Australia Business Arts Foundation


Droid Sans and Kulturista.
Jones Film Video


Arvo, Helvetica and Georgia.
Dilly Deli


Helvetica Neue and League Gothic.
space150


Cuprum and Pacifico.
Dave Carter


Arial and Georgia.
Co-Work


Raleway and Georgia.
Johan Reinhold


Proxima Nova Extra Condensed and Verdana.
palantir-net


Kreon and Verdana.
350gram


League Gothic Regular, Helvetica Neue and Museo Slab.
English Workshop


Copse and Homemade Apple.
Kansas City Creep Fest


La Wine beautifully uses fonts like Proxima Nova Extra Condensed (Bold), Helvetica and League Gothic (Regular).
La Wine


This one has got a lot of fonts like Aurea Ultra, Helvetica, Times, Franklin Gothic and Georgia.
The Bright Future of Car Sharing


This one has Nixie One (headlines) and Open Sans (Texts).
The Beauty Shoppe


Courier on the top menus, Museo Slab and Futura PT.
826 Seattle


A great mix of Arial and Bebas Neue.
Tommy


nest mixes Fuller Sans DT Bold and Fuller Sans DT Regular amazingly.
nest


Helvetica Neue and Octin College Regular.
Fatum


FF Tisa (header and footer) – Josefin Slab (Rest of the things).
Ana Majik


Futura PT (header) – Yellowtail (center).
Colbow Design


It is a minimalist layout with fabulous textured detail on its header and also a few textured photos.
Twistedfork – Dan Matutina


Instrument has a beautiful delicate background texture.
Instrument


This one is another neat and clean design with a subtle and amazing textured background.
Corpus


Its layout is based on shapes, typography and a textured background.
Headlamp


It boasts a subtle and pretty background texture that can be seen only on margins and footer.
vnsaga


This one is yet another beautiful minimalistic design that mixes texture by using photos.
us


This one uses amazing texture that gives it a great look.
Fueled by Design


Tabspresso uses colours and textures really nicely.
Tabspresso

One Design Company


One Design Company is a minimalistic typography based design and a textured background.
One Design Company


It has a cool layout based on shapes, typography, colors, photos and subtle textures. Bold and beautiful.
Big Bite Creative


This one boasts a clean look with an amazing subtle texture.
Oink


This one has various textures which give the layout a really cool touch.
The WP Co


Give Beyond boasts amazing typography and hand-drawn elements with awesome texture.
Give Beyond


Calepino has a beautiful big main photo with wood as texture.
Calepino


This one is a minimal design with pretty textures.
Wearable Print


from: http://smashinghub.com/40-best-typeface-combinations-in-web-design.htm