感觉自己的架构水平好弱,请问有没有推荐的最佳实践教材?

2017-01-03 10:30:44 +08:00
 mokeyjay

我是个普通的 PHP 码农,正式工作一年多一点了

框架熟练 CI ,会用 yii2 、 TP3/5

做的项目越多、越大,就感觉自己的架构水平越辣鸡;代码能写、能用,各种编程基本概念都懂,但就是不知道怎么合理运用它们。

例如让我做个 xx 系统,需求我都明白了,但我总觉得自己写出来的代码不够优雅,尤其是如何划分一些类以及类之间的继承、抽象关系上,要么就是写着写着耦合度又提高了;在数据表设计上也是这样,属于那种 道理我都懂,但就是不知道怎么去做 的感觉

所以我想问下各位,有没有那种用实际(或虚拟)案例来做分析,教授如何优雅划分类、设计表这样的教材?载体不限,书籍视频都可以,收费也行

7349 次点击
所在节点    程序员
62 条回复
uxstone
2017-01-03 10:39:15 +08:00
php 不就应该是面条嘛,还能咋地.......
mikulch
2017-01-03 10:44:45 +08:00
别整这么多没用的

要想去搞什么优雅啊 耦合度啊 那你得放弃世界上最好的语言,转而去研究世界上最具有模式的语言: java
你觉得这个代价值得吗。
klom303
2017-01-03 10:48:48 +08:00
尝试下 Laravel 框架,看看源码
mokeyjay
2017-01-03 10:52:59 +08:00
@uxstone 面条是啥意思?
@mikulch 你的意思是写 PHP 只要无脑面向过程就行了、完全没必要追求优雅吗?
@klom303 看过不少框架源码,学到一些模式,但不知该如何合理运用在自己的实际项目中……
vagasnail
2017-01-03 10:54:39 +08:00
@mikulch Java=世界上最啰嗦的语言。
peinhu
2017-01-03 10:56:16 +08:00
JAVA 跟优雅没有任何关系,就是结构工整、语法啰嗦,追求优雅的话你可以看看 laravel ,关键字 repository ,推荐你看看这个 http://oomusou.io/laravel/laravel-architecture/
mercurylanded
2017-01-03 10:56:59 +08:00
少年听过 DDD 吗
mokeyjay
2017-01-03 10:59:31 +08:00
@peinhu 谢谢。感觉 Laravel 都快成为优雅的代名词了。不过前阵子鸟哥才说过某优雅的框架执行速度不行啊……
@mercurylanded 搜了一下,看不太懂,有入门级的教程吗?
mercurylanded
2017-01-03 11:04:17 +08:00
ElmerZhang
2017-01-03 11:04:57 +08:00
学架构没什么好教材,最好的办法就是工作中努力把事情做得更好,更接近完美。
fucker
2017-01-03 11:07:39 +08:00
@vagasnail 感觉啰嗦+10086
otakustay
2017-01-03 11:07:57 +08:00
一年多谈啥架构,也没什么教材,架构本身就是掉坑掉得体无完肤总结出来的东西
mokeyjay
2017-01-03 11:08:08 +08:00
@mercurylanded 感谢,有实际案例就会好懂一些
@ElmerZhang 说的倒是容易……我也想“努力把事情做得更好,更接近完美”,但并不清楚该怎么做,也不知道这么做到底对不对
Troevil
2017-01-03 11:09:20 +08:00
优雅 -> scala
结构 -> java
denghongcai
2017-01-03 11:22:45 +08:00
Laravel 性能还好的,用 https://github.com/denghongcai/laravoole 免去框架加载时间
Allianzcortex
2017-01-03 11:23:03 +08:00
@vagasnail @Troevil 然而 Java 是典型的工业界语言, verbose yet obvious (Scala Cookbook 里的原话哇咔咔)
feiyuanqiu
2017-01-03 11:40:38 +08:00
程序设计是从需求分析阶段就开始了...不过现在干 php 的都挺不重视这个的

设计类最主要的还是需要学习面向对象设计方法论,经典的比如 grasp 的创建者模式和信息专家模式在划分类时都是很有用的指导。这方面可以看看 uml 与模式应用 这本书

进一步地,可以看看领域驱动设计,尽管可能受限于环境因素不能照搬,但理解它的领域模型聚合实体值对象领域服务领域事件等概念还是挺有用的。这方面的书写得都挺难看的...随便找本书翻翻了解下概念,然后可以去汤老师 cnblogs.com/netfocus 的博客上看看,他的文章写得很好

最后,我的感觉,不一定对, php 这行业平均水平就这样了,写写过程式代码完成需求就行了,你弄些复杂的概念进来同事不一定看得懂,还影响同事间关系...业务代码翻来覆去就那样,平时工作里干的那些零零碎碎的工作对自己的技术提升真是有限,有时间多学点基础知识,搞点完整的复杂项目,这种提升才是真实的
kuber
2017-01-03 12:09:08 +08:00
建议看看“企业应用架构模式”。架构模式很大程度上跟语言无关
https://book.douban.com/subject/1230559/
guoer
2017-01-03 12:19:24 +08:00
去大公司做大项目
bzzhou
2017-01-03 12:19:36 +08:00
才工作一年,别想太多了,多干活多写代码,等你感觉代码哪里不爽了,或者哪里重复工作多了,再去看一些架构的书籍,就水到渠成了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/331836

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX