当前位置: 首页 > wzjs >正文

服务器上建设网站网易企业邮箱如何申请注册

服务器上建设网站,网易企业邮箱如何申请注册,购物商城网站搭建,江苏省企业年报网上申报入口七大设计原则 1:开闭原则 对扩展开放,对修改关闭,在设计模块的时候,使模块在不被修改的前提下可以扩展功能 2:依赖倒置原则 实现尽量依赖抽象,不依赖具体实现 (1)高层模块不应该依赖底层模…

七大设计原则

1:开闭原则

对扩展开放,对修改关闭,在设计模块的时候,使模块在不被修改的前提下可以扩展功能

2:依赖倒置原则

实现尽量依赖抽象,不依赖具体实现

(1)高层模块不应该依赖底层模块,两者都应该依赖于抽象

(2)抽象不应该依赖于细节,细节应该依赖于抽象

3:单一职责原则

对于一个类而言,应该只存在一个可以一起类变化的原因,一个类只承担一个职责,如果一个类有两个职责,应该将其非开。比如tableviewCell如果有多种样式Cell,分成几种类型写Cell。

4:里氏替换原则

适用父类的功能一定适用于子类,子类能替换父类的对象,子类可以扩展父类的功能,不能修改父类原有的功能。

5:接口隔离原则(设计更专一更小的接口)

客户端不应该依赖不需要的接口,类之间的依赖类应建立在最小的接口上,类不应该被迫实现不需要的方法

6:迪米特法则

一个对象对另一个对象了解的越多,耦合度就越高(对象之间应该保持最少的了解)

7:组合/复用原则

在一个新的对象里面使用已有的对象,使成为新对象一部分。优先使用对象组合聚合来实现代码复用,而不是继承

设计模式

ios开发中常见的设计模式主要分为三大类:

创造型模式(解决对象创建问题)

结构型模式(解决对象组织和结构问题)

行为型模式(解决对象间的交互问题)

创造型模式

单例模式

确保一个类只有一个实例,并提供全局访问点。比如userDefault、UIApplication、FileManager等

例如

class Singleton {static let shared = Singleton() // 全局唯一实例private init() {} // 防止外部初始化func doSomething() {print("执行某些操作")}
}// 使用单例
Singleton.shared.doSomething()

Swift提供Lazy属性,可以保证线程安全,不需要额外加锁。

工厂模式

提供创建对象的接口,不直接实例化对象。隐藏负责的对象创建逻辑,提高代码的复用性。

示例:

protocol Animal {func makeSound() -> String
}class Dog: Animal {func makeSound() -> String { return "🐶 汪汪" }
}class Cat: Animal {func makeSound() -> String { return "🐱 喵喵" }
}// 工厂类
class AnimalFactory {static func createAnimal(type: String) -> Animal? {switch type {case "dog": return Dog()case "cat": return Cat()default: return nil}}
}// 使用工厂
let dog = AnimalFactory.createAnimal(type: "dog")
print(dog?.makeSound() ?? "未知") // 🐶 汪汪

结构型模式

代理模式

通过委托对象,处理某些任务,用于类之间通信。

protocol TaskDelegate: AnyObject {func taskDidComplete()
}class Worker {weak var delegate: TaskDelegate?func doWork() {print("正在执行任务...")delegate?.taskDidComplete() // 任务完成后通知代理}
}class Manager: TaskDelegate {func taskDidComplete() {print("任务完成,经理收到通知!")}
}// 使用代理
let worker = Worker()
let manager = Manager()
worker.delegate = manager
worker.doWork()

观察者模式

用于通知多个对象数据更新,如NotificationCenter、KVO

NotificationCenter:

// 发送通知
NotificationCenter.default.post(name: Notification.Name("TaskCompleted"), object: nil)// 监听通知
NotificationCenter.default.addObserver(forName: Notification.Name("TaskCompleted"), object: nil, queue: .main) { _ inprint("收到任务完成通知!")
}

 KVO

class Person: NSObject {@objc dynamic var age = 20
}let person = Person()
let observer = person.observe(\.age, options: .new) { _, change inprint("年龄变化:\(change.newValue!)")
}person.age = 25 // 输出:年龄变化:25

行为型模式 

责任链模式

按顺序处理事件,如UIResponder事件传递

class Handler {var next: Handler?func handleRequest(_ request: String) {if next != nil {next?.handleRequest(request)} else {print("请求 \(request) 没有处理者")}}
}class ConcreteHandlerA: Handler {override func handleRequest(_ request: String) {if request == "A" {print("A 处理请求")} else {super.handleRequest(request)}}
}class ConcreteHandlerB: Handler {override func handleRequest(_ request: String) {if request == "B" {print("B 处理请求")} else {super.handleRequest(request)}}
}// 创建责任链
let handlerA = ConcreteHandlerA()
let handlerB = ConcreteHandlerB()
handlerA.next = handlerBhandlerA.handleRequest("B") // 输出:B 处理请求

备忘录模式

保存和恢复对象状态,如 UserDefaults。

class Game {var score = 0func save() -> Int {return score}func restore(_ score: Int) {self.score = score}
}let game = Game()
game.score = 100
let savedScore = game.save()game.score = 50
game.restore(savedScore) // 恢复存档print(game.score) // 输出:100

http://www.dtcms.com/wzjs/573674.html

相关文章:

  • 华为网站建设wordpress多站点用户互通
  • 企业网站源码搜一品资源网四川网站营销seo费用
  • 长春网站建设排名网站开发风险分析
  • 个股期权网站开发wordpress插件样式
  • 网站看不到排版怎么办网站开发联系方式
  • ui设计已经不火了最优惠的网站优化
  • 银行门户网站建设方案网站备案 时间
  • 建一个网站买完域名后应该怎么做百度推广公司地址
  • 火车头wordpress建站群哪个网站可以免费做音乐相册
  • 站长统计是什么意思天元建设集团有限公司商票逾期
  • 谈谈网站开发流程天眼查公司查询企业查询官网
  • 新开传奇新服网网站优化公司效果
  • 四川省建设厅官方培训网站网页浏览历史记录恢复
  • 当阳网站建设电话手机微信网站开发
  • 计算机网络技术网站建设方向中企动力邮箱手机版
  • 手机网站设计与规划企业画册封面设计
  • 网站界面友好建设网站的工作职责
  • 百色高端网站建设想再算命网站上登广告怎么做
  • 如何套用网站模板如何做简易的网站
  • 《网页设计与制作》实验报告seo提供服务
  • wordpress回收站+恢复自助商城网站建设
  • 全国的做网站的公司建设 市民中心网站
  • 域名可以同时做邮箱和网站么wordpress首页模板在哪
  • 房山成都网站建设开发出来的电子商务网站域名
  • 电商网站的建设与运营北京线上教学
  • 北京大兴网站建设公司wordpress 数据库表可视化
  • 深圳网站搜索引擎优化没有域名的时候建网站
  • 云南省科技网站做区位图的网站
  • win7 iis7 添加网站电子政务系统网站建设的基本过程
  • 手机网站样式安什么网站建设