理論-關注點分離(Separation of Concerns)

理論-關注點分離

理論-關注點分離

最近在學React Js 

在他的文件裡有一篇

https://facebook.github.io/react/docs/multiple-components.html

Motivation: Separation of Concerns

By building modular components that reuse other components with well-defined interfaces, you get much of the same benefits that you get by using functions or classes. Specifically you can separate the different concerns of your app however you please simply by building new components. By building a custom component library for your application, you are expressing your UI in a way that best fits your domain.

一時記不起來,只好做過筆記

關注點分離(Separation of Concerns)

 

記得在某篇文章怎麼講的,忘了,但我查到如下的文章

http://codepen.io/somethingkindawierd/post/jsx-is-weird

Separation of Concerns

In React a component is the primary method of separating concerns. You don't think in terms of view classes and template files, which separate technical concerns. Instead you break apart your app into individual components that each capture a distinct business or UI/UX concern. Each of these components serves to encapsulate the display logic and the markup it generates.

讓人瞭解,我自己解釋,在我們要切割MVC時,或許過去是單純的把UI介面切出去,成為一個 template,但以React角色來講,他是用Component的觀念來做切割的。也不會是一整個template檔案來切割UI

覺得這個把切UI切出去,更方便撰寫UI程式。

每一個components 會包含自己的顯示方式與他的邏輯。

筆記:React :Rethinking Best Practices

網路解釋:

http://www.wikiwand.com/zh-hk/%E5%85%B3%E6%B3%A8%E7%82%B9%E5%88%86%E7%A6%BB

關注點分離(Separation of concerns,SOC)是對只與「特定概念、目標」(關注點)相關聯的軟件組成部分進行「標識、封裝和操縱」的能力,即標識、封裝和操縱關注點的能力。是處理複雜性的一個原則。由於關注點混雜在一起會導致複雜性大大增加,所以能夠把不同的關注點分離開來,分別處理就是處理複雜性的一個原則,一種方法。

關注點分離是面向對象的程序設計的核心概念。分離關注點使得解決特定領域問題的代碼從業務邏輯中獨立出來,業務邏輯的代碼中不再含有針對特定領域問題代碼的調用(將針對特定領域問題代碼抽象化成較少的程式碼,例如將代碼封裝成function或是class),業務邏輯同特定領域問題的關係通過側面來封裝、維護,這樣原本分散在整個應用程式中的變動就可以很好的管理起來。

根據大師的講法,用簡單一點的說法如下

"關注點分離(Separation of concerns,SOC)"的精神
Model 要肥
Controller 要輕
View 要夠笨

以上作為參考