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

怎么制作网站导航页推广手段

怎么制作网站导航页,推广手段,网站制作学校找哪家,杭州商城网站开发策略模式#xff1a;一种行为型模式#xff0c;这些设计模式特别关注对象之间的通信。在策略模式中#xff0c;我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的 context 对象。策略对象改变 context 对象的执行算法。 介绍 意图#xff1a;定义一系列的算…策略模式一种行为型模式这些设计模式特别关注对象之间的通信。在策略模式中我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的 context 对象。策略对象改变 context 对象的执行算法。 介绍 意图定义一系列的算法、策略或行为,把它们封装成一个一个的策略类主要解决问题在有多种相似算法、策略或行为的情况下使用 if...else 所带来的复杂和难以维护。关键代码实现同一个接口优点1、算法可以自由切换。 2、避免使用多重条件判断。 3、扩展性良好。缺点1、策略类会增多。 2、所有策略类都需要对外暴露这有点违背设计模式六大原则的迪米特法则。 举个例子绘制三角形、圆形、矩形图案Android Kotlin 自定义View 步骤1创建一个接口 interface Strategy {fun runCanvas(canvas: Canvas?) } 步骤2创建实现接口的实体类。 class Triangle:Strategy {override fun runCanvas(canvas: Canvas?) {// 绘制一个三角形行为// ......} } class Circular:Strategy {override fun runCanvas(canvas: Canvas?) {// 绘制一个圆形行为// ......} } class Rectangle:Strategy {override fun runCanvas(canvas: Canvas?) {// 绘制一个矩形形行为// ......} } 步骤3创建上下文类。 //创建 Context 类。 //class Context(private val strategy: Strategy) { // // fun executeStrategy(canvas: Canvas?){ // return strategy.runCanvas(canvas) // } //}class CustomView(context: Context, attrs: AttributeSet?, defStyleAttr: Int, defStyleRes: Int) : View(context, attrs, defStyleAttr, defStyleRes) {constructor(context: Context) : this(context, null, 0)constructor(context: Context, attrs: AttributeSet?) : this(context, attrs, 0)constructor(context: Context, attrs: AttributeSet?, defStyleAttr: Int) : this(context, attrs, defStyleAttr,0)private var strategy: Strategy? nullfun setStrategy(strategy: Strategy?) {this.strategy strategy}override fun onDraw(canvas: Canvas?) {strategy?.runCanvas(canvas)super.onDraw(canvas)}} 步骤使用 // 使用 Context 来查看当它改变策略 Strategy 时的行为变化。 // var context Context(Triangle()) // context.executeStrategy(canvas) // var context Context(Circular()) // context.executeStrategy(canvas) // var context Context(Rectangle()) // context.executeStrategy(canvas)// 改变策略 StrategycustomView.setStrategy(Triangle())customView.invalidate()//触发执行draw方法customView.setStrategy(Circular())customView.invalidate()customView.setStrategy(Rectangle())customView.invalidate()
http://www.dnsts.com.cn/news/11192.html

相关文章:

  • 网络营销做女鞋的网站设计高端网站建设开发
  • 淘客网站代理郑州外贸网站建设公司价格
  • 连云港公司网站制作wordpress如何删除广告插件
  • php的网站wordpress 分割线
  • 做网站买什么空间广西住房和城乡建设厅
  • 买了一个域名如何做网站东莞网站建设 汇卓
  • 阿里云网站怎么备案域名河北造价信息网查询
  • 花园设计网站推荐网站建设的必要性’
  • 怎么验证网站爱客crm系统
  • 企业级网站内容管理解决方案jsp网站开发实例实验报告
  • 网站推广的目标专业上海网站建设公司
  • 网站开发时遇到的问题近两年成功的网络营销案例及分析
  • dedecms 网站网页设计作业5000字
  • 网站建设费用评估ulysses wordpress
  • 设计新颖的网站建设苏州建设网站公司在什么地方
  • python网站和js做网站搭建网站属于什么专业
  • 提供扬中网站建设厦门网站建设制作
  • 网站建设与制作教程传奇网站一般怎么做的
  • python网站开发用什么网络工程师培训班要多少钱
  • 个人网站怎么填写电脑浏览器打不开网页是什么原因
  • 上海建设银行招聘网站提升学历的意义
  • 胶州建网站建设会员网站需要多少钱
  • 用asp做网站课程网站收录上万没有流量
  • 枣阳网站建设公司专业设计网址青岛网站开发
  • 2015做那些网站致富手机网站建设制作教程视频
  • wordpress版本下载seo推广的特点有
  • 网站首页为什么不收录住房建设部官方网站设计费计取
  • html5国外网站模板html源码下载广州继续教育平台登录入口
  • 商城型网站建设设计素材网站线上
  • 军事网报名入口泉州seo全网营销