The XAF video tutorial is coming. We have 6 courses and the xaf video tutorial is coming.
XAF has recorded videos with his brother in the exchange learning group. He does not have a blog. He has dragged me to the blog Park, hoping to benefit more developers. a good tool for developing enterprise-level applications quickly! XAF entry 01 Quick View
XAF entry 02 features.
XAF entry 03 Status Control
XAF entry 04 create a project
XAF entry 05 images, attachments, and aggregation
XAF entry 06 permission Control
XAF advantages and disadvantages
I. One-time encoding, used on multiple platforms at the same time
By writing code at a time, four types of projects can be generated simultaneously:
1. Web project (B/s)
2. win project (c/s)
3. tablet (beta)
4. Mobile Terminal (beta)
Among them, web/win is two projects, and both 3 and 4 are web projects. However, different adaptive interfaces can be used for browsing on mobile devices and tablets.
During the time when Sliverlight emerged, XAF tried to support the Silverlight version. However, due to the rise of HTML5, Microsoft should put Sliverlight in the corner so far, so Dev does not support Sliverlight. However, they have some Sliverlight controls.
WPF is not dead, at least I see very few applications. Except for VS, it's MS's own stuff: D
Sliverlight is a good thing without HTML5. It is a pity that the rise of HTML5 has pulled us back to the damn javascript development.
2. Database Support
This should be an advantage of XPO. It supports 14 types of databases, including SqlServer, Oracle, MySql, and db2...... common databases. When switching databases, you do not need to modify the source code. Of course, if you start to use Oracle and manually call SQL statements, SQL Server cannot be correctly executed.
Entity Framework is supported. Although I don't need this, DEV still supports it, probably because M $ is too strong.
Iii. Support for international Localization
XAF supports multi-language versions. After the application is developed, you can generate localized translation files for various languages in the application model.
Iv. Automatic Mechanism
• Starts from the domain object • automatically creates a database • automatically creates an interface list interface, detailed interface search interface • built-in addition, deletion, modification, and query, without the need for SQL programming
V. AOP ApplicationAOP is an aspect-oriented application, and XAF has been applied to the extreme. For example, the stored button in the system, no matter how many business objects you have, you only need this save button, they behave in the same way. They are all stored in the database table. If you need to modify the text of the Save button, you only need to modify it in one place, and the entire system changes. Modular application: if we develop an Excel Data Import function, we can also apply it to all business objects for one import function and use it in all places immediately. XAF has a rich set of metadata that we can use. Control reuse: A control is required in many places in the system. For example, if you select a time option and XAF does not have these controls by default, we can develop them and set them as default controls, for example, if it is applied to the Timespan type, only one step is required. This control is applied throughout the system. XAF has many such automatic mechanisms, which can be solved at one time. Therefore, XAF does not need to be executed twice. XAF rejects duplicate operations and copies.
6. Metadata ManagementMetadata refers to the information of code in our program. For example, what is the name of a class, which class it inherits from, what interfaces It implements, what attributes it has, and what attributes it has? Yes. In. net, this information can be obtained through reflection. In information system development, this metadata will be extended. For example, the class will display the text on the interface, the requirements for entering data, and the filtering conditions. You will say that this is not our own code? In XAF, this information also needs to be maintained. We help customers manage their information when writing programs to customers. They have improved their informatization level. However, our own code and system itself are also a mass of information that needs to be managed. If we do not consider the content of the planning program everywhere, it would be normal to make a mess later. Looking at the object-oriented software design, aren't various concepts used to plan the content? So there is a term called metaprogramming, which is also fascinating. So what is the use of metadata management? It is also effective in combination with the AOP concept. For example, if I want all types with the "name" attribute to be displayed in red on the interface, we can use programming.
Foreach (var x in classes) {if (x. members. contains ('name') {var member = x. members ["name"]; member. backColor = Color. red ;}}
This is just a piece of pseudo code. If you use a traditional development method and perform this operation on each interface, many errors may occur. The biggest problem is, do we need to be so stupid to handle daily problems? Why don't we save time and don't make that boring modification? In addition, metadata can also be extended. The built-in metadata is not provided and can be implemented by ourselves.
VII. DomainComponents TechnologyUsually referred to as DC technology by XAF developers, DC technology uses interfaces to define business logic objects. in EF, we usually use class to define a business object, using Interfaces to define business logic is faster and simpler. I think the biggest advantage is that it implements Multi-inheritance, for example:
Public interface client {......} public interface company {} public interface individual {} public interface company Customer: Company, customer {} public interface individual customer: individual, customer {}
How simple it is. If we use a class, we only support single inheritance, and the content in the other interface can only be manually repeated to knock out the code again. how boring it is. One small pity is that the DC technology does not support the generic mechanism. If it can be supported in the future, it will be perfect. In an invoicing system, there are a lot of documents, but they are nothing more than warehouse receiving Class, warehouse receiving class, not warehouse receiving class. There are various combinations that can be come up, after combining N documents, if we use DC technology, the sky would be fine.
8. built-in function modules1. Permission module: 1. Support permissions at the Business Object level, and add, delete, modify, and view permissions. 2. Supports field-level permissions. A field can be read and written. 3. supports row-level permissions. Check whether records with certain conditions in a service object have the permission to delete, modify, and view the records. 4. supports the preceding four types of hybrid permissions. supports roles and nested roles, that is, role 3 = role 2 + role 1 2. audit module is used to implement each environment for business object changes, the Creation Time, modification time, deletion time, modification content, and operations of each attribute. A considerable number of records are generated, but they can be selected or customized. Iii. Business Class Library Customization Module Business Object support
This is a basic module that enables SQL-less CRUD operations on business objects. 4. The chart module can display various charts, such as bar charts and pie charts. If you have used the DEV control, you have read it. 5. The Clone Objct module replicates business objects. This is a small module. Vi. Conditional Appearance Module Overview condition Appearance Module. It is a very common Module that controls global availability, visibility, color, and font. VII. FileAttachment Module. The file attachment Module is used to manage attachment files. It can be uploaded to the database or customized as a file system. 8. HTML Property Editor can be used in business objects. 9. The notification Module provides a pop-up notification at a certain time like outlook. You can choose to postpone or cancel the notification and personalize the notification in the business Module. For example, contact the customer at the time of the reminder, and update the order. 10. KPI module: the performance appraisal module should have been evaluated by all colleagues. It is a standard module and provides some charts. 11. The Maps module supports map display. I haven't used it yet, but it looks pretty good. 12. Pie Chart Module Cross data analysis table + Chart Module. There is a cross data perspective analysis table in Excel. Because it looks the same, I translated it like this.
This is indeed quite powerful, and the customer is very flexible to handle. What data statistics are required and what they want? Of course, the customer is willing to operate. This module also displays data in charts, which is intuitive. 13. The external Grid Module is the same as the preceding one. Only the External table is displayed. 14. The current version of the Report Module is 15.2, and new functions are constantly added. We have been waiting for many good functions in previous versions. For example, in the report module, you can only design reports in win, and now you have a report designer on the web. Very tall. 15. The Scheduler module is the same as the calendar in Outlook. 16. The state machine module is used for simple approval flow, which is not bad. 17. TreeListEditor tree list module, which is also very common. 18. The verification module has the highest usage frequency, which is required for verification and unique verification. You can think of it all. Of course, the extension interface is also provided. 19. View Variant allows a business object to be displayed in multiple ways and allows quick switching. Switch the table to a tree view. 20. The workflow module is a workflow. Currently, it is only available under winform. 9. Disadvantages 1. Need to learn 2. Huge System