Skip to content

Instantly share code, notes, and snippets.

@t32k
Last active January 4, 2016 04:59
Show Gist options
  • Save t32k/8572671 to your computer and use it in GitHub Desktop.
Save t32k/8572671 to your computer and use it in GitHub Desktop.
Frontrend in Fukuoka 2014年1月25日(土)開催!

Efficient UI Development

[D-1] 45MIN. 14:00 - 14:45

Webデザインとは単にページを作るということではなく破綻のない『システム』をデザインしなければなりません。そのためにパターン、コンポーネント といった概念が不可欠です。本セッションでは実際に私が開発しているCSSフレームワークであるMapleにおいて考えたことやコンポーネント化の利点について紹介したいと思います。

t32k

The Problems We Have

Component + ize

Use Case

See Also

Component

機械を構成する部品のことで、その機械専用に製作されたものから汎用の機械要素などが含まれる。

Module

機能単位、交換可能な構成部分 モジュールとは、ハードウェアやソフトウェアにおける、ひとまとまりの機能・要素のことである。

Pattern

過去のソフトウェア設計者が発見し編み出した設計ノウハウを蓄積し、名前をつけ、再利用しやすいように特定の規約に従ってカタログ化したものである。

関心の分離 separation of concerns

プログラムを機能面において可能な限り重複がない、複数の機構に明確に分割することをいう。ここでいう「関心(関心事)」とは、プログラムのある機能や振る舞い、目的のことである。

カプセル化 encapsulation

オブジェクト指向を構成する概念の一つ。オブジェクト内部のデータを隠蔽したり(データ隠蔽)、オブジェクトの振る舞いを隠蔽したり、オブジェクトの実際の型を隠蔽したりすることをいう。

開放/閉鎖原則open/closed principle

オブジェクト指向プログラミングにおいて、クラス(およびその他のプログラム単位)は

  • 拡張に対して開いて (open) いなければならず、
  • 修正に対して閉じて (closed) いなければならない

という設計上の原則である。 つまり、あるクラスが一度コードレビューやユニットテストなどの品質検査を通過し実際の運用に入ったならば、そのクラスを修正してはならず、拡張によって対処しなければなら

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment