|
//===========================================
// MVC# Framework | www.MVCSharp.org |
// ------------------------------------------
// Copyright (C) 2008 www.MVCSharp.org |
// All rights reserved. |
//===========================================
using System;
using System.Text;
namespace MVCSharp.Core.Views
{
#region Documentation
/// <summary>
/// All views should implement this interface.
/// <para>For user convenience a generic version of this
/// interface exists with a strongly typed association to
/// the controller, see <see cref="IView{T}"/></para>
/// </summary>
/// <seealso cref="IView{T}"/>
#endregion
public interface IView
{
#region Documentation
/// <summary>
/// Used to connect a view to its controller.
/// </summary>
/// <remarks>
/// This is one of the most important and widely used properties
/// in the framework. Through it views pass control to controllers
/// (see the example below).
/// </remarks>
/// <example>
/// In this example the view handles a user gesture (button click)
/// by passing control to the associated controller:
/// <code>
/// class MyView : IView
/// {
/// // here the IView implementation goes
/// ...
///
/// private void button_Click(object sender, EventArgs e)
/// {
/// (Controller as MyController).DoSomething();
/// }
/// }
/// </code>
/// </example>
#endregion
IController Controller
{
get;
set;
}
#region Documentation
/// <summary>
/// Used to assign a view its name.
/// </summary>
#endregion
string ViewName
{
get;
set;
}
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
Oleg Zhukov, born and living in Russia is Lead Engineer and Project Manager in a company which provides business software solutions. He has graduated from Moscow Institute of Physics and Technology (MIPT) (department of system programming) and has got a M.S. degree in applied physics and mathematics. His research and development work concerns architectural patterns, domain-driven development and systems analysis. Being the adherent of agile methods he applies them extensively in the projects managed by him.