I am trying to centralize the building of all the view instances using a centralized class called Factory. Had instantiated the factory class inside model. But later on, this structure started creating problems. So asking it here. Where should such "factory" classes be placed inside mvc. How should they interact with the model, view and controllers ?
Using sort of factory class ( instance creator ) in an MVC
168 Views Asked by Vishwas At
1
There are 1 best solutions below
Related Questions in ACTIONSCRIPT-3
- [Actionscript]How to display the information inside an array of objects
- How to set a colour variable in JS
- When using INSERT OR REPLACE INTO in SQL is there any way to tell if a record was inserted as new or replaced in SQL for AS3?
- How to inject a bean in a view with Crux
- AS3 - Unable to resize Image width and height
- How do I move Pac-Man smoothly in AS3?
- Export Release Build is not working in Adobe Flash Builder, It does nothing on Finish button
- 1009 Error for a Character Skin Symbol in AS3
- Issue setting domain memory
- Implicit coercion of a value with static type Object to a possibly unrelated type Number
- Defer implementation of interface functions to child class
- Simple top 3 scores from an array to textfield
- Need ActionScript 3 coding for input boxes that will determine amount of color fill in a movieclip
- AS3 Caling MC on Parent Timeline from Child
- 2 error problems for simple music players
Related Questions in MODEL-VIEW-CONTROLLER
- Getting POST 500 Internal server error while sending request via ajax call
- ASP.NET Core - Change Url of Product Details when select Color
- How to execute functions from different classes in a Model-View-Controller (MVC) architecture pattern?
- How to reroute role based user after login
- Error Connecting to a remote Windows MYSQL Windows server using Windows ASP.NET
- InvalidOperationException: Unable to resolve service for type 'Microsoft.Identity.Abstractions.IDownstreamApi'
- Create REST API Endpoints from an Existing PHP CodeIgniter Project
- Issue with Accessing Endpoints after Separating Controller Classes in Spring Boot
- C# MVC net.7 Application goes in time out
- In my .net core 8 mvc c# project, when I click on the category, the data comes as null listing the products in the relevant category
- Why do I get 500 error on Azure after using ViewBag?
- The jquery script function is not triggering in _layout.cshtml page while child page is loaded in ajax
- How to structure frontend on a Vanilla JS app on Symfony
- About Flutter MVVM Architecture with GetX
- How to join tables from multiple dbcontexts in one ViewModel?
Related Questions in PUREMVC
- Using PureMVC framework in Angular 2 project
- Building a project in TypeScript PureMVC
- Swift PureMVC : Does not conform to NSObjectProtocol
- Asynchronous Database Access Layer in PureMVC
- Flex - TypeError: Error #1034: Type Coercion failed: cannot convert flash.events::Event@bcb8291 to mx.events.CloseEvent
- Where must be custom logic in pureMVC (as3)?
- hello StartupCommand PureMVC cpp with CMake
- Python PureMVC vs Pubsub
- Could/should a Value Object hold methods relevant only to itself?
- smartGWT onDraw when is it executed?
- Does Box2D breaks MVC concept?
- Drawbacks of Robotlegs 2 compared with PureMVC
- Which Framework is required for developing android application ? MVC/MVP/MVVM
- Uncaught ReferenceError: using TypeScript, RequireJS and PureMVC
- Best approach to wait untill all service calls returned values in Flex PureMVC
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Working with an MVC structure does not mean that you need to forget other best practices. It's just a way of structuring an application into 3 (or 4 in the case of RL) tiers that make sense and push you towards writing clean code.
Models should never ever ever do anything that is view related. A factory that spawns display objects should be placed in the view tier. When and how that factory is instantiated, initialized and used depends on a number of factors. Since you're using a DI/IOC framework, the obvious choice for instantiation is by setting up an injection rule. As to what parts will be using the factory there's a number of possibilities: it could be passed on to the context view by the context view mediator. Or you could choose to dedicate a command to do the heavy lifting. Or you could encapsulate its usage in a separate class that listens to system events and responds accordingly (a sort of view-less mediator)
One minor thing:
Factoryis way too generic a name for the class. It communicates no intent at all. You should choose meaningful, descriptive names for your classes. If the factory creates view instances, at the very least it should contain 'view' in its name. You have to find a name that is specific enough, but doesn't tie down to a certain implementation. It depends a little on what level the class operates.