Open
Description
Description
I'm planning to remove Utils namespace by moving classes to service or Files.App.Storage.
Providing a single, simple and common way of accessing the application functionalities allows us to implement unit tests easily as well as enables us to maintain codes easily.
Services.App
- IAppThemeModeService
- IAppThreadingService
- IAppUpdateNoneService
- IAppUpdateSideloadService
- IAppUpdateStoreService
- IAppResourcesService
- (extension) AppThemeResourcesHelper
- IAppDialogService
- (helper) DialogDisplayService
- (helper) UIHelper
- (helper) DynamicDialogHelper
- Remarks: Convert all ContentDialogs into Pages and move them to the Views namespace. The service shall have methods for every dialog to display (e.g. ShowComfirmEmptyBinDialog and ShowFileInUseDialog) instead of instancing ContentDialogs. Also all dialogs that need user interaction should have each view models. Note that some dialog contents use their own 'PrimaryButton' in the contents instead of ContentDialog's one.
- IAppNavigationService
- (helper) MultitaskingTabsHelpers
- (helper) NavigationHelpers
Files.Integrations
- IFileTagsService
- (helper) FileTagsHelper
- (watcher) FileTagsManager
- (service) FileTagsService
- (context) FileTagsContext
- (item) FileTagItem
- (item) TagsListItem
- (item) TaggedFile
- (utility) FileTagsDatabase
- IGitService
- (helper) GitHelpers
Services.Storages
Almost all of them should be heavily discussed ahead of time since they are related to the SAL (Storage Abstraction Layer). For more information, refer to #8974
- IStorageArchiveService
- IStorageCacheService
- IStorageNetworkService
- IStorageLinkService
- (helper) UIFilesystemHelper (partial)
- IStorageOperationService
- (utility) FileOperationsHelpers
- (utility) FilesystemHelpers
- (utility) FilesystemOperations
- (utility) IFilesystemHelpers
- (utility) IFilesystemOperations
- (utility) ShellFilesystemOperations
- (utility) ShellFileOperations2
- IStorageEnumerationService
- (utility) UniversalStorageEnumerator
- (utility) Win32StorageEnumerator
- IStorageCalculationService
- (utility) FileSizeCalculator
- IStorageDevicesService
- (service) RemovableDrivesService
- (watcher) DrivesViewModel
- (watcher) DeviceManager
- (watcher) WindowsStorageDeviceWatcher & IStorageDeviceWatcher
- (helper) DriveHelpers
- (utility) RemovableDevice
Services.Windows
- IWindowsCompatibilityService
- IWindowsDialogService
- IWindowsIniService
- IWindowsJumpListService
- IWindowsStartMenuService
- IWindowsRecycleBinService
- (helper) RecycleBinHelpers
- (watcher) RecycleBinManager
- IWindowsQuickAccessService
- (service) QuickAccessService
- (watcher) QuickAccessManager
- (utility) PinnedFoldersManager
- IWindowsLibraryService
- (watcher) LibraryManager
- IWindowsWSLService
- (watcher) WSLDistroManager
- IWindowsTaskbarService
- (utility) SystemTrayIcon
- (window proc) SystemTrayIconWindow
- IWindowsShellService
- (item) ContextMenu, Win32ContextMenu
- (item) ContextMenuItem, Win32ContextMenuItem
- (helper) ShellFolderExtensions
- (utility) ShellLibraryEx
- (utility) ShellLibraryFolders
- (helper) ShellNewMenuHelper
- (item) ShellFileItem
- (item) ShellLibraryItem
- (item) ShellNewEntry
Classes to Remove
- Move to HomeViewModel
- (helper) WidgetsHelpers
Gains
- Better maintainability
- Reduced duplicated classes
- Better test experience when we are going to implement Unit tests.
Requirements
- Use single service per a functionality
Comments
No response
Metadata
Metadata
Assignees
Labels
No labels
Type
Projects
Status
🏗 In progress