mirror of
https://github.com/catlog22/Claude-Code-Workflow.git
synced 2026-02-09 02:24:11 +08:00
Refactor code structure for improved readability and maintainability
This commit is contained in:
@@ -0,0 +1,14 @@
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
@interface Person : NSObject
|
||||
|
||||
@property (nonatomic, strong) NSString *name;
|
||||
@property (nonatomic, assign) NSInteger age;
|
||||
@property (nonatomic, strong) NSString *email;
|
||||
|
||||
- (instancetype)initWithName:(NSString *)name age:(NSInteger)age;
|
||||
- (void)sayHello;
|
||||
- (void)updateEmail:(NSString *)email;
|
||||
+ (Person *)createDefaultPerson;
|
||||
|
||||
@end
|
||||
@@ -0,0 +1,27 @@
|
||||
#import "Person.h"
|
||||
|
||||
@implementation Person
|
||||
|
||||
- (instancetype)initWithName:(NSString *)name age:(NSInteger)age {
|
||||
self = [super init];
|
||||
if (self) {
|
||||
_name = name;
|
||||
_age = age;
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void)sayHello {
|
||||
NSLog(@"Hello, my name is %@", self.name);
|
||||
}
|
||||
|
||||
- (void)updateEmail:(NSString *)email {
|
||||
self.email = email;
|
||||
NSLog(@"Email updated to: %@", email);
|
||||
}
|
||||
|
||||
+ (Person *)createDefaultPerson {
|
||||
return [[Person alloc] initWithName:@"John Doe" age:30];
|
||||
}
|
||||
|
||||
@end
|
||||
@@ -0,0 +1,14 @@
|
||||
#import <Foundation/Foundation.h>
|
||||
#import "Person.h"
|
||||
|
||||
@interface UserManager : NSObject
|
||||
|
||||
@property (nonatomic, strong) NSMutableArray<Person *> *users;
|
||||
|
||||
+ (UserManager *)sharedManager;
|
||||
- (void)addUser:(Person *)user;
|
||||
- (Person *)findUserByName:(NSString *)name;
|
||||
- (void)removeUser:(Person *)user;
|
||||
- (NSInteger)userCount;
|
||||
|
||||
@end
|
||||
@@ -0,0 +1,42 @@
|
||||
#import "UserManager.h"
|
||||
|
||||
@implementation UserManager
|
||||
|
||||
+ (UserManager *)sharedManager {
|
||||
static UserManager *sharedInstance = nil;
|
||||
static dispatch_once_t onceToken;
|
||||
dispatch_once(&onceToken, ^{
|
||||
sharedInstance = [[UserManager alloc] init];
|
||||
sharedInstance.users = [[NSMutableArray alloc] init];
|
||||
});
|
||||
return sharedInstance;
|
||||
}
|
||||
|
||||
- (void)addUser:(Person *)user {
|
||||
if (user) {
|
||||
[self.users addObject:user];
|
||||
NSLog(@"Added user: %@", user.name);
|
||||
}
|
||||
}
|
||||
|
||||
- (Person *)findUserByName:(NSString *)name {
|
||||
for (Person *user in self.users) {
|
||||
if ([user.name isEqualToString:name]) {
|
||||
return user;
|
||||
}
|
||||
}
|
||||
return nil;
|
||||
}
|
||||
|
||||
- (void)removeUser:(Person *)user {
|
||||
if (user) {
|
||||
[self.users removeObject:user];
|
||||
NSLog(@"Removed user: %@", user.name);
|
||||
}
|
||||
}
|
||||
|
||||
- (NSInteger)userCount {
|
||||
return self.users.count;
|
||||
}
|
||||
|
||||
@end
|
||||
@@ -0,0 +1,30 @@
|
||||
#import <Foundation/Foundation.h>
|
||||
#import "Person.h"
|
||||
#import "UserManager.h"
|
||||
|
||||
int main(int argc, const char * argv[]) {
|
||||
@autoreleasepool {
|
||||
// Create some users
|
||||
Person *alice = [[Person alloc] initWithName:@"Alice" age:25];
|
||||
Person *bob = [[Person alloc] initWithName:@"Bob" age:30];
|
||||
Person *charlie = [Person createDefaultPerson];
|
||||
|
||||
// Get shared manager
|
||||
UserManager *manager = [UserManager sharedManager];
|
||||
|
||||
// Add users
|
||||
[manager addUser:alice];
|
||||
[manager addUser:bob];
|
||||
[manager addUser:charlie];
|
||||
|
||||
// Find user
|
||||
Person *found = [manager findUserByName:@"Alice"];
|
||||
if (found) {
|
||||
[found sayHello];
|
||||
[found updateEmail:@"alice@example.com"];
|
||||
}
|
||||
|
||||
NSLog(@"Total users: %ld", (long)[manager userCount]);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
Reference in New Issue
Block a user