肩胛骨疼是什么原因| 复方氯化钠注射作用是什么| 胃窦炎吃什么药效果最好| 腋臭手术挂什么科| 脚酸疼是什么原因引起的吗| 处女座跟什么星座最配| 六味地黄丸吃多了有什么副作用| 蓝莓有什么好处| 次日什么意思| 18kgp是什么金| 代销商是什么意思| 脚气看什么科| 1955属什么生肖| 火彩是什么| 盐酸舍曲林片治疗什么程度的抑郁| 为什么会做梦中梦| 黄芪和什么泡水壮阳| 产后复查都查什么| 飞的最高的鸟是什么鸟| 万字第二笔是什么| 销魂什么意思| 悸动是什么意思| 憋尿憋不住是什么原因| 汉菜不能和什么一起吃| 小儿多动症挂什么科| fpd是什么意思| 什么药退烧快| iphone5什么时候出的| 宵夜和夜宵有什么区别| 叙字五行属什么| 督察是什么级别| 小孩血压低是什么原因| 蒟蒻是什么意思| 支气管炎吃什么药有效| 六个点是什么意思| 生理性厌恶是什么意思| 肺气肿吃什么食物| 衤字旁的字与什么有关| 属蛇的是什么星座| 早上5点多是什么时辰| 梦见鱼是什么预兆| 结婚10年是什么婚| 什么交加| 梦见自己掉牙是什么意思| 玉林狗肉节是什么时候| 什么叫痛风| 周瑜和诸葛亮是什么关系| 九月十七日是什么星座| 2022年是属什么| 逾越节是什么意思| anker是什么牌子| 梦见面包是什么意思| 乳头痛是什么原因| 肾气不足吃什么药好| 九出十三归是什么意思| 巴基斯坦是什么人种| 什么是斜率| 为什么大便是绿色的| 嗜酸性粒细胞偏低是什么意思| 蟹黄是螃蟹的什么东西| 四月四号什么星座| 黄金螺吃什么| 汗疱疹用什么药膏最好| 掉牙齿是什么征兆| zero是什么牌子| 医院有什么科室| 香云纱是什么面料| 微循环是什么意思| 皮肤过敏用什么药最好| 肠易激综合征吃什么中成药| 胃酸烧心吃什么| 人造革是什么材质| 慢性肾功能不全是什么意思| 上眼皮浮肿是什么原因| 田七配什么煲汤最好| 肺钙化灶是什么意思| 蜈蚣怕什么东西| 熊人是什么意思| 忙什么呢幽默的回答| 小叶增生是什么症状| 4.24是什么星座| 虹为什么是虫字旁| 鱼上浮的原因是什么| 惨绿少年什么意思| 呆小症是缺乏什么激素| 吃什么药可以流产不用去医院| 托孤是什么意思| 过敏性咳嗽吃什么药| 曹操属什么生肖| 一什么尺子| 明前茶和明后茶有什么区别| 嘿是什么意思| 肝硬化吃什么食物好| 十年什么婚| dw什么意思| 慢性胃炎能吃什么水果| 丹参片和复方丹参片有什么区别| 6月26是什么星座| 喝酒胃疼吃什么药| 蓝色小药丸是什么| 属猴的和什么属相最配| 儿童感冒流鼻涕吃什么药好得快| 与什么俱什么| 什么情况下需要打破伤风针| 火水是什么| 松子吃了有什么好处和坏处| 阑尾炎在什么位置| 不知道吃什么怎么办| 梦见自己掉牙是什么意思| 册那是什么意思| 寒湿化热吃什么中成药| 用什么药| 干红是什么意思| 吃什么补血| 谷草谷丙比值偏高代表什么| 舌头开裂吃什么药| 缘起缘灭是什么意思| 什么败走华容道不出所料| 心脏供血不足吃什么药| 前列腺钙化灶是什么病| 椰子不能和什么一起吃| 夏天为什么会下冰雹| 男怕初一女怕十五是什么意思| 头伏二伏三伏吃什么| 什么都值得买| 喜悦之情溢于言表什么意思| 优质是什么意思| 心电图电轴右偏是什么意思| 霉菌阴道炎是什么引起的| 一九七七年属什么生肖| 40gp是什么意思| 天蝎女和什么星座最配| 女生下体长什么样| 癫痫病是什么症状| 梦见炖鱼预示什么| 头发长不长是什么原因怎么办| 踏实是什么意思| 顽疾是什么意思| 下嘴唇起泡是什么原因| cpap是什么意思| yj是什么意思| 眼睛有异物感是什么原因| 西瓜不能跟什么一起吃| 大拇指脱皮是什么原因| 长期喝什么茶能降三高| 大驿土命是什么意思| 622188开头是什么银行| 内分泌挂什么科| 大排是什么肉| 鸡眼长什么样子图片| 瓜子脸配什么发型好看| 虫离念什么| 肝肾功能检查挂什么科| 橙子和橘子有什么区别| 珐琅是什么| 十二点是什么时辰| 感觉有痰咳不出来是什么原因| 风向是指风什么的方向| 早上起床吐痰带血是什么原因| 头疼吃什么药效果好| 炒什么菜好吃又简单| 什么是溶血| 1234是什么意思| 嘢是什么意思| hr过高是什么意思| 句加一笔是什么字| 他克莫司软膏治疗什么| 肌酐升高是什么原因| 牙髓炎吃什么药| 子宫脱垂吃什么药怎么恢复正常| 超度什么意思| 躁郁症吃什么药| 广州立冬吃什么| 什么是金砖国家| 深圳吃什么| 护士规培是什么意思| 痰带血丝是什么原因| 孕早期适合吃什么水果| 翻墙是什么| 牙龈疼是什么问题| 鹌鹑吃什么| 化疗后吃什么补身体| 神疲乏力是什么症状| 四月初八是什么日子| 指甲花学名叫什么| 牙齿发黄是什么原因| 吃什么补性功能最快| 房早有什么危害| 拉肚子吃什么水果好| 什么是修辞手法| 什么水果吃了对皮肤好| 未见胎芽是什么意思| 吃什么水果减肥最快| 软饮料是指什么| 吃什么长胎不长肉| 舌头发白有齿痕是什么原因| 什么是乳清蛋白粉| 梵蒂冈为什么没人敢打| 空腹喝酒有什么危害| 无为而治什么意思| 嘴边起水泡是什么原因| 对方忙线中什么意思| 肝火旺吃什么降火最快| 干咳无痰吃什么药好| 第二性征是什么意思| 闰月给父母买什么| 女人肾虚吃什么药调理| 失温是什么意思| 甲状腺素低吃什么能补| 桂花是什么生肖| 晚上吃什么水果对身体好| 蚊虫叮咬红肿用什么药| 左后背发麻是什么原因| 为什么月经来是黑色的| 湿疹为什么反反复复好不了| agoni什么意思| 云南小黄姜有什么功效| 中指是什么意思| foryou是什么意思| 电压高是什么原因造成| 芳华是什么意思| 多汗症吃什么药| 馒头配什么菜好吃| 破月什么意思| 6月13日什么星座| fd是什么意思| 晕车喝什么饮料好| 5月31日什么星座| 怀孕可以喝什么饮料| 曼陀罗是什么意思| 心衰什么症状| 扁平疣是什么样子图片| 中年危机是什么意思| 女生打呼噜是什么原因| 用热毛巾敷眼睛有什么好处| 孕妇感冒了对胎儿有什么影响| 消化不良吃什么水果| 知了猴是什么东西| 什么人心什么| 5月30是什么星座| 子宫内膜2mm说明什么| mk包包属于什么档次| 鸡眼挂什么科| 机警是什么意思| 女人白带多什么原因| 梳子什么材质的好| 阴虚吃什么中药| 为什么不建议打水光针| 咦是什么意思| 司马懿字什么| 大洋马是什么意思| 奥地利讲什么语言| 可遇不可求是什么意思| 风邪是什么意思| 三尖瓣关闭不全是什么意思| 羡字五行属什么| 内痔是什么意思| 什么时候天黑| 灰指甲是什么原因引起的| 红色加绿色等于什么颜色| 什么是裙带菜| 肝脏不好吃什么调理| 卡介苗预防什么疾病| 肥皂剧是什么| 百度Jump to content

中国歼10飞机首飞20周年揭秘:首飞不易 定型更难

From Wikipedia, the free encyclopedia
Diagram of interactions in MVC's Smalltalk-80 interpretation
百度 “宁波帮”人士孙宁初博士穿针引线,最终以“亲情牌”“专业牌”和“服务牌”赢得客商信任,实现项目落地。

Model–view–controller (MVC) is a software architectural pattern[1] commonly used for developing user interfaces that divides the related program logic into three interconnected elements. These elements are:

  • the model, the internal representations of information
  • the view, the interface that presents information to and accepts it from the user
  • the controller, the software linking the two.[2][3]

Traditionally used for desktop graphical user interfaces (GUIs), this pattern became popular for designing web applications.[4] Popular programming languages have MVC frameworks that facilitate the implementation of the pattern.

History

[edit]

One of the seminal insights in the early development of graphical user interfaces, MVC became one of the first approaches to describe and implement software constructs in terms of their responsibilities.[5]

Trygve Reenskaug created MVC while working on Smalltalk-79 as a visiting scientist at the Xerox Palo Alto Research Center (PARC) in the late 1970s.[6][7][8]:?330? He wanted a pattern that could be used to structure any program where users interact with a large, convoluted data set. His design initially had four parts: Model, view, thing, and editor. After discussing it with the other Smalltalk developers, he and the rest of the group settled on model, view, and controller instead.[6]

In their final design, a model represents some part of the program purely and intuitively. A view is a visual representation of a model, retrieving data from the model to display to the user and passing requests back and forth between the user and the model. A controller is an organizational part of the user interface that lays out and coordinates multiple Views on the screen, and which receives user input and sends the appropriate messages to its underlying Views. This design also includes an Editor as a specialized kind of controller used to modify a particular view, and which is created through that view.[6]

Smalltalk-80 supports a version of MVC that evolved from this one.[6] It provides abstract view and controller classes as well as various concrete subclasses of each that represent different generic widgets. In this scheme, a View represents some way of displaying information to the user, and a controller represents some way for the user to interact with a view. A view is also coupled to a model object, but the structure of that object is left up to the application programmer. The Smalltalk-80 environment also includes an "MVC Inspector", a development tool for viewing the structure of a given model, view, and controller side-by-side.[9]

In 1988, an article in The Journal of Object Technology (JOT) by two ex-PARC employees presented MVC as a general "programming paradigm and methodology" for Smalltalk-80 developers. However, their scheme differed from both Reenskaug et al.'s and that presented by the Smalltalk-80 reference books. They defined a view as covering any graphical concern, with a controller being a more abstract, generally invisible object that receives user input and interacts with one or many views and only one model.[10]

The MVC pattern subsequently evolved,[11] giving rise to variants such as hierarchical model–view–controller (HMVC), model–view–adapter (MVA), model–view–presenter (MVP), model–view–viewmodel (MVVM), and others that adapted MVC to different contexts.

The use of the MVC pattern in web applications grew after the introduction of NeXT's WebObjects in 1996, which was originally written in Objective-C (that borrowed heavily from Smalltalk) and helped enforce MVC principles. Later, the MVC pattern became popular with Java developers when WebObjects was ported to Java. Later frameworks for Java, such as Spring (released in October 2002), continued the strong bond between Java and MVC.

In 2003, Martin Fowler published Patterns of Enterprise Application Architecture, which presented MVC as a pattern where an "input controller" receives a request, sends the appropriate messages to a model object, takes a response from the model object, and passes the response to the appropriate view for display.[8]:?56? This is close to the approach taken by the Ruby on Rails web application framework (August 2004), which has the client send requests to the server via an in-browser view, these requests are handled by a controller on the server, and the controller communicates with the appropriate model objects.[12] The Django framework (July 2005, for Python) put forward a similar "model-template-view" (MTV) take on the pattern, in which a view retrieves data from models and passes it to templates for display.[13] Both Rails and Django debuted with a strong emphasis on rapid deployment, which increased MVC's popularity outside the traditional enterprise environment in which it has long been popular.

Components

[edit]

Model

[edit]

The central component of the pattern. It is the application's dynamic data structure, independent of the user interface.[14] It directly manages the data, logic and rules of the application. In Smalltalk-80, the design of a model type is left entirely to the programmer.[15] With WebObjects, Rails, and Django, a model type typically represents a table in the application's database.[16][17][18] The model is essential for keeping the data organized and consistent. It ensures that the application's data behaves according to the defined rules and logic.

View

[edit]

Any representation of information such as a chart, diagram or table. Multiple views of the same information are possible, such as a bar chart for management and a tabular view for accountants.

In Smalltalk-80, a view is just a visual representation of a model, and does not handle user input.[19] With WebObjects, a view represents a complete user interface element such as a menu or button, and does receive input from the user.[20] In both Smalltalk-80 and WebObjects, however, views are meant to be general-purpose and composable.[21][22]

With Rails and Django, the role of the view is played by HTML templates, so in their scheme a view specifies an in-browser user interface rather than representing a user interface widget directly.[23][24] (Django opts to call this kind of object a "template" in light of this.[25]) This approach puts relatively less emphasis on small, composable views; a typical Rails view has a one-to-one relationship with a controller action.[26]

Smalltalk-80 views communicate with both a model and a controller,[27] whereas with WebObjects, a view talks only to a controller, which then talks to a model.[28] With Rails and Django, a view/template is used by a controller/view when preparing a response to the client.[29][30]

Controller

[edit]
UML class diagram of an example controller in MVC architecture

Accepts input and converts it to commands for the model or view.[31]

A Smalltalk-80 controller handles user input events, such as button presses or mouse movement.[32] At any given time, each controller has one associated view and model, although one model object may hear from many different controllers. Only one controller, the "active" controller, receives user input at any given time; a global window manager object is responsible for setting the current active controller. If user input prompts a change in a model, the controller will signal the model to change, but the model is then responsible for telling its views to update.[33]

In WebObjects, the views handle user input, and the controller mediates between the views and the models. There may be only one controller per application, or one controller per window. Much of the application-specific logic is found in the controller.[34]

In Rails, requests arriving at the on-server application from the client are sent to a "router", which maps the request to a specific method of a specific controller. Within that method, the controller interacts with the request data and any relevant model objects and prepares a response using a view. Conventionally, each view has an associated controller; for example, if the application had a client view, it would typically have an associated Clients controller as well. However, developers are free to make other kinds of controllers if they wish.[35]

Django calls the object playing this role a "view" instead of a controller.[30] A Django view is a function that receives a web request and returns a web response. It may use templates to create the response.[36]

Interactions

[edit]

In addition to dividing the application into a model, a view and a controller component, the MVC design pattern defines the interactions between these three components :[37]

  • The model is responsible for managing the data of the application. It receives user input from the controller.
  • The view renders presentation of the model in a particular format.
  • The controller responds to the user input and performs interactions on the data model objects. The controller receives the input, optionally validates it and then passes the input to the model.

As with other software patterns, MVC expresses the "core of the solution" to a problem while allowing it to be adapted for each system.[38] Particular MVC designs can vary significantly from the traditional description here.[39]

Motivation

[edit]

As Alan Kay wrote in 2003, the original motivation behind the MVC was to allow creation of a graphical interface for any object.[40] That was outlined in detail in Richard Pawson's book Naked Objects.[40]

Trygve Reenskaug, originator of MVC at PARC, has written that "MVC was conceived as a general solution to the problem of users controlling a large and complex data set."[6]

In their 1991 guide Inside Smalltalk, Carleton University computer science professors Wilf LaLonde and John Pugh described the advantages of Smalltalk-80-style MVC as:

  • independence of presentation and data, e.g. multiple views on one model simultaneously,
  • composable presentation widgets, e.g. one view used as a subview of another,
  • switchable input modes, by swapping one controller out for another during runtime, and
  • independence of input and output processing, via the separate responsibilities of controllers and views.[41]

Use in web applications

[edit]

Although originally developed for desktop computing, MVC has been widely adopted as a design for World Wide Web applications in major programming languages. Several web frameworks have been created that enforce the pattern. These software frameworks vary in their interpretations, mainly in the way that the MVC responsibilities are divided between the client and server.[42] Early MVC frameworks took a thin client approach that placed almost the entire model, view and controller logic on the server. In this approach, the client sends hyperlink requests or form submissions to the controller and then receives a complete and updated web page (or other document) from the view; the model exists entirely on the server.[42] Later frameworks have allowed the MVC components to execute partly on the client, using Ajax to synchronize data.

See also

[edit]

References

[edit]
  1. ^ "The Principles of Clean Architecture by Uncle Bob Martin". YouTube. 15 December 2015.
  2. ^ Reenskaug, Trygve; Coplien, James O. (20 March 2009). "The DCI Architecture: A New Vision of Object-Oriented Programming". Artima Developer. Archived from the original on 23 March 2009. Retrieved 3 August 2019. More deeply, the framework exists to separate the representation of information from user interaction.
  3. ^ Burbeck (1992): "... the user input, the modeling of the external world, and the visual feedback to the user are explicitly separated and handled by three types of object."
  4. ^ Davis, Ian. "What Are The Benefits of MVC?". Internet Alchemy. Retrieved 2025-08-06.
  5. ^ Model–View–Controller History. C2.com (2025-08-06). Retrieved on 2025-08-06.
  6. ^ a b c d e Notes and Historical documents from Trygve Reenskaug, inventor of MVC.
  7. ^ "A note on DynaBook requirements", Trygve Reenskaug, 22 March 1979, SysReq.pdf.
  8. ^ a b Fowler, Martin (2003). Patterns of Enterprise Application Architecture. Pearson Education, Inc. ISBN 0-321-12742-0.
  9. ^ Goldberg, Adele (1984). Smalltalk-80: The Interactive Programming Environment. Addison-Wesley. ISBN 0-201-11372-4.
  10. ^ Krasner, Glenn E.; Pope, Stephen T. (Aug–Sep 1988). "A cookbook for using the model–view controller user interface paradigm in Smalltalk-80". The Journal of Object Technology. 1 (3). SIGS Publications: 26–49. Also published as "A Description of the Model–View–Controller User Interface Paradigm in the Smalltalk-80 System" (Report), ParcPlace Systems; Retrieved 2025-08-06.
  11. ^ The evolution of MVC and other UI architectures from Martin Fowler.
  12. ^ "Ruby on Rails Guides". Retrieved March 19, 2022.
  13. ^ "Django FAQ: Django appears to be a MVC framework, but you call the Controller the "view", and the View the "template". How come you don't use the standard names?". Retrieved March 19, 2022.
  14. ^ Burbeck, Steve (1992) Applications Programming in Smalltalk-80:How to use Model–View–Controller (MVC)
  15. ^ LaLonde, Wilf R.; Pugh, John R. (1991). Inside Smalltalk. U.S.A.: Prentice-Hall Inc. p. 8. ISBN 0-13-467309-3. The model can be any object without restriction.
  16. ^ WebObjects System Overview (PDF). Cupertino, CA: Apple Computer, Inc. May 2001. p. 28. In WebObjects, a model establishes and maintains a correspondence between an enterprise object class and data stored in a relational database.
  17. ^ "Active Record Basics". Rails Guides. Retrieved October 27, 2022. This will create a Product model, mapped to a products table at the database.
  18. ^ "Models". Django Documentation. Retrieved October 27, 2022. Generally, each model maps to a single database table.
  19. ^ LaLonde, Wilf R.; Pugh, John R. (1991). Inside Smalltalk. U.S.A.: Prentice-Hall Inc. p. 8. ISBN 0-13-467309-3. The view is responsible for providing a visual representation of the object.
  20. ^ WebObjects System Overview (PDF). Cupertino, CA: Apple Computer, Inc. May 2001. p. 28. View objects represent things visible on the user interface (windows, for example, or buttons).
  21. ^ LaLonde, Wilf R.; Pugh, John R. (1991). Inside Smalltalk. U.S.A.: Prentice-Hall Inc. p. 8. ISBN 0-13-467309-3. [MVC] permits views to be used as parts for assembly into larger units; new kinds of views can be constructed using existing views as subviews.
  22. ^ WebObjects System Overview (PDF). Cupertino, CA: Apple Computer, Inc. May 2001. p. 28. View objects tend to be very reusable and so provide consistency between applications.
  23. ^ "Action View Overview". Rails Guides. Retrieved October 27, 2022. Action View templates are written using embedded Ruby in tags mingled with HTML.
  24. ^ "Templates". Django Documentation. Retrieved October 27, 2022. A template contains the static parts of the desired HTML output as well as some special syntax describing how dynamic content will be inserted.
  25. ^ "Django FAQ: Django appears to be a MVC framework, but you call the Controller the "view", and the View the "template". How come you don't use the standard names?". Retrieved October 27, 2022.
  26. ^ "Action View Overview". Rails Guides. Retrieved October 27, 2022. Typically, the views share their name with the associated controller action...
  27. ^ LaLonde, Wilf R.; Pugh, John R. (1991). Inside Smalltalk. U.S.A.: Prentice-Hall Inc. p. 9. ISBN 0-13-467309-3. ...the view knows explicitly about the model and the controller.
  28. ^ WebObjects System Overview (PDF). Cupertino, CA: Apple Computer, Inc. May 2001. p. 28. Acting as a mediator between Model objects and View objects in an application is a Controller object.
  29. ^ "Action View Overview". Rails Guides. Retrieved October 27, 2022. In Rails, web requests are handled by action controller and action view. Typically, action controller is concerned with communicating with the database and performing CRUD actions where necessary. Action View is then responsible for compiling the response.
  30. ^ a b "Django FAQ: Django appears to be a MVC framework, but you call the Controller the "view", and the View the "template". How come you don't use the standard names?". Retrieved October 27, 2022. In Django, a 'view' describes which data is presented, but a view normally delegates to a template, which describes how the data is presented.
  31. ^ Simple Example of MVC (Model–View–Controller) Architectural Pattern for Abstraction
  32. ^ LaLonde, Wilf R.; Pugh, John R. (1991). Inside Smalltalk. U.S.A.: Prentice-Hall Inc. p. 8. ISBN 0-13-467309-3. The controller is responsible for interfacing between the user and the model/view. It interprets keyboard characters along with mouse movements and clicking.
  33. ^ LaLonde, Wilf R.; Pugh, John R. (1991). Inside Smalltalk. U.S.A.: Prentice-Hall Inc. p. 11. ISBN 0-13-467309-3.
  34. ^ WebObjects System Overview (PDF). Cupertino, CA: Apple Computer, Inc. May 2001. p. 28.
  35. ^ "Action View Overview". Rails Guides. Retrieved October 27, 2022. Typically, the views share their name with the associated controller action...
  36. ^ "Writing views". Django Documentation. Retrieved October 27, 2022.
  37. ^ Buschmann, Frank (1996) Pattern-Oriented Software Architecture.
  38. ^ Gamma, Erich et al. (1994) Design Patterns
  39. ^ Moore, Dana et al. (2007) Professional Rich Internet Applications: Ajax and Beyond: "Since the origin of MVC, there have been many interpretations of the pattern. The concept has been adapted and applied in very different ways to a wide variety of systems and architectures."
  40. ^ a b Alan Kay (23 May 2003). "is squeak really object oriented ?". Squeak Foundation mailing list. Retrieved 26 October 2021.
  41. ^ LaLonde, Wilf R.; Pugh, John R. (1991). Inside Smalltalk. Vol. 2. U.S.A.: Prentice-Hall Inc. pp. 8–9. ISBN 0-13-467309-3.
  42. ^ a b Leff, Avraham; Rayfield, James T. (September 2001). Web-Application Development Using the Model/View/Controller Design Pattern. IEEE Enterprise Distributed Object Computing Conference. pp. 118–127.

Bibliography

[edit]
心电轴左偏是什么意思 轻度肠上皮化生是什么意思 男性染色体是什么 力挽狂澜什么意思 肝气不舒有什么症状
死间计划到底是什么 亚麻籽油是什么油 膀胱壁毛糙是什么意思 两个月没来月经是什么原因 abo是什么
立秋抓秋膘吃什么 肌肉疼痛挂什么科 1996年属什么 晨僵是什么症状 女人吃善存有什么好处
上坟可以带什么水果 五月十三是什么星座 yj是什么意思 吃完饭就打嗝是什么原因 赞什么不已
怀孕吃什么宝宝皮肤白hcv9jop4ns3r.cn 病毒由什么构成hcv7jop9ns4r.cn 孕妇零食可以吃什么hcv7jop6ns3r.cn 啥是什么意思hcv9jop5ns2r.cn 狗到家里是什么预兆hcv9jop7ns5r.cn
淤泥是什么意思hcv9jop3ns8r.cn 出格是什么意思hcv9jop1ns3r.cn 腹直肌是什么ff14chat.com hpv是什么检查hcv7jop6ns9r.cn 梦见死尸什么预兆hcv7jop6ns3r.cn
手背出汗是什么原因hcv8jop9ns3r.cn 中医是什么hcv8jop3ns0r.cn 7月份是什么星座aiwuzhiyu.com 孕妇缺营养吃什么补hcv8jop1ns9r.cn 什么的小狗hcv9jop2ns7r.cn
黄喉是牛的什么部位hcv9jop5ns6r.cn beam是什么意思wzqsfys.com 复方甘草酸苷片治什么病hcv8jop8ns6r.cn 木林森属于什么档次hcv8jop4ns2r.cn 醴什么意思hcv9jop4ns8r.cn
百度