- Switching to Angular(Third Edition)
- Minko Gechev
- 265字
- 2021-07-02 15:23:32
Getting to know Angular components
Model-View-Controller (MVC) is a micro-architectural pattern initially introduced for the implementation of user interfaces. As Angular developers, we use different variations of this pattern on a daily basis, most often, Model-View-ViewModel (MVVM). In MVC, we have the model, which encapsulates the business logic of our application, and the view, which is responsible for rendering the user interface, accepting user input, and delegating the user interaction logic to the controller. The view is represented as composition of components, which is formally known as the composite design pattern.
Let's take a look at the following structural diagram, which shows the composite design pattern:

Here, we have three classes:
- An abstract class called Component.
- Two concrete classes called Leaf and Composite. The Leaf class is a simple terminal component in the component tree that we will build soon.
The Component class defines an abstract operation called operation. Both Leaf and Composite inherit from the Component class, however, the Composite class also owns references to it. We can take this even further and allow Composite to own a list of references to instances of Component, as shown in the diagram. The components list inside Composite can hold references to different Composite or Leaf instances, or instances of other classes, which extend the Component class or any of its successors. We can have a different behavior of the operation methods of the individual Component instances invoked within the implementation of the operation method of Composite. This is because of the late-binding mechanism used for the implementation of polymorphism in object-oriented programming languages.
- HornetQ Messaging Developer’s Guide
- iOS 9 Game Development Essentials
- 青少年美育趣味課堂:XMind思維導圖制作
- TradeStation交易應用實踐:量化方法構建贏家策略(原書第2版)
- Scala編程實戰(原書第2版)
- Kotlin從基礎到實戰
- Python程序設計與算法基礎教程(第2版)(微課版)
- Unity&VR游戲美術設計實戰
- C語言程序設計實訓教程與水平考試指導
- Java編程從入門到精通
- 軟件工程與UML案例解析(第三版)
- C語言從入門到精通
- H5+移動營銷設計寶典
- HTML5與CSS3權威指南
- Implementing Domain:Specific Languages with Xtext and Xtend